Function at 0x64e4b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov dword [esp + 0x5c], ecx
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 8]
movzx ebx, byte [edi]
test bl, 1
je 0x64e4d9
mov ebx, dword [edi + 4]
mov edi, dword [edi + 8]
jmp 0x64e4dc
inc edi
shr ebx, 1
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], 0
test ebx, ebx
je 0x64e52f
xor esi, esi
jmp 0x64e505
inc esi
cmp ebx, esi
je 0x64e52f
movzx eax, byte [edi + esi]
cmp al, 0x5f
je 0x64e500
mov ecx, eax
add cl, 0xbf
movzx edx, al
add al, 0x20
cmp cl, 0x1a
movzx eax, al
cmovae eax, edx
movsx eax, al
lea ecx, [esp + 0x40]
push eax
call fcn.00520460
jmp 0x64e500
lea eax, [esp + 0x34]
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0xc]
cmp dword [eax + 4], 0
jle 0x64ec8d
xor ecx, ecx
jmp 0x64e571
mov ecx, dword [esp + 0x60]
inc ecx
mov eax, dword [ebp + 0xc]
cmp ecx, dword [eax + 4]
jge 0x64ec87
mov eax, dword [eax + 0x18]
lea edx, [ecx + ecx*4]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
mov esi, dword [eax + edx*4 + 8]
movzx ebx, byte [esi]
test bl, 1
mov dword [esp + 0x60], ecx
je 0x64e5b0
mov ebx, dword [esi + 4]
mov esi, dword [esi + 8]
jmp 0x64e5b3
inc esi
shr ebx, 1
movzx ecx, byte [esp + 0x40]
test ebx, ebx
je 0x64e5d0
test cl, 1
je 0x64e5f0
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
jmp 0x64e5fa
test cl, 1
je 0x64e6ce
mov eax, dword [esp + 0x44]
jmp 0x64e6d3
shr ecx, 1
lea edi, [esp + 0x41]
mov dword [esp + 0x14], edi
xor edx, edx
xor eax, eax
mov dword [esp + 0x10], esi
jmp 0x64e617
mov ebx, edi
inc eax
cmp edi, eax
je 0x64e650
cmp edx, ecx
jae 0x64e652
mov edi, ebx
movzx ebx, byte [esi + eax]
cmp bl, 0x5f
je 0x64e610
mov bh, bl
add bh, 0xbf
movzx esi, bl
add bl, 0x20
cmp bh, 0x1a
movzx ebx, bl
cmovae ebx, esi
mov esi, dword [esp + 0x14]
cmp bl, byte [esi + edx]
jne 0x64e701
inc edx
mov esi, dword [esp + 0x10]
jmp 0x64e610
mov eax, ebx
cmp edx, ecx
jb 0x64e677
cmp ebx, eax
jbe 0x64e66d
nop word [eax + eax]
cmp byte [esi + eax], 0x5f
jne 0x64e66d
inc eax
cmp ebx, eax
jne 0x64e660
jmp 0x64e67f
mov ecx, ebx
sub ecx, eax
jne 0x64e738
test esi, esi
je 0x64e780
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
cmp ebx, 0xfffffff0
jae 0x64ecb6
cmp ebx, 0xb
jb 0x64e728
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call fcn.0051c3d0
add esp, 4
mov esi, eax
mov dword [esp + 8], eax
add edi, 2
mov dword [esp], edi
mov dword [esp + 4], ebx
jmp 0x64e7c0
shr cl, 1
movzx eax, cl
test eax, eax
test esi, esi
je 0x64e780
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
lea eax, [esp + 1]
mov byte [eax + ebx], 0
jmp 0x64e7d2
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
cmp edi, 0xfffffff0
jae 0x64ecb6
mov ebx, edi
cmp edi, 0xb
jae 0x64e799
mov eax, ebx
add al, bl
mov byte [esp], al
lea esi, [esp + 1]
jmp 0x64e7c0
test esi, esi
je 0x64e780
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
cmp ecx, 0xfffffff0
jae 0x64ecb6
add esi, eax
mov ebx, esi
cmp ecx, 0xb
jae 0x64ec4c
mov eax, ecx
add al, cl
mov byte [esp], al
lea esi, [esp + 1]
jmp 0x64ec71
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
jmp 0x64e7d2
mov ebx, edi
or ebx, 0xf
lea eax, [ebx + 1]
push eax
call fcn.0051c3d0
add esp, 4
mov esi, eax
mov dword [esp + 8], eax
add ebx, 2
mov dword [esp], ebx
mov ebx, edi
mov dword [esp + 4], edi
nop dword [eax]
push ebx
push dword [esp + 0x14]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
movzx eax, byte [esp]
test al, 1
je 0x64e800
mov eax, dword [esp + 4]
jmp 0x64e802
shr eax, 1
lea ecx, [esp + 0x18]
push eax
call fcn.0051fe90
movzx edx, byte [esp]
mov eax, edx
and al, 1
je 0x64e830
mov esi, dword [esp + 8]
mov edx, dword [esp + 4]
test edx, edx
jne 0x64e83a
jmp 0x64e8a6
shr edx, 1
lea esi, [esp + 1]
test edx, edx
je 0x64e8a6
mov al, 1
xor edi, edi
mov dword [esp + 0x10], esi
jmp 0x64e857
inc edi
mov eax, ebx
cmp edx, edi
je 0x64e8a0
movzx ecx, byte [esi + edi]
cmp cl, 0x5f
sete bl
je 0x64e850
not al
and al, 1
mov esi, edx
mov edx, eax
shl dl, 5
add dl, cl
shl al, 6
add al, 0xe0
add dl, 0x9f
cmp dl, 0x1a
movzx eax, al
mov edx, 0
cmovae eax, edx
add al, cl
movsx eax, al
lea ecx, [esp + 0x18]
push eax
call fcn.00520460
mov edx, esi
mov esi, dword [esp + 0x10]
jmp 0x64e850
movzx eax, byte [esp]
and al, 1
test al, al
je 0x64e8b6
push dword [esp + 8]
call fcn.0051c570
add esp, 4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
lea esi, [eax + ecx*4]
mov edi, esp
mov ecx, edi
lea eax, [esp + 0x18]
push eax
call fcn.0051f860
mov dword [esp + 0xc], esi
mov dword [esp + 0x50], 0
lea ecx, [esp + 0x30]
push edi
lea eax, [esp + 0x54]
push eax
call fcn.00662d60
mov edi, dword [eax]
mov esi, edi
test edi, edi
je 0x64e910
test byte [esp], 1
jne 0x64e990
test edi, edi
jne 0x64e9a4
jmp 0x64ec30
mov ebx, eax
push 0x20
call fcn.0051c3d0
add esp, 4
mov esi, eax
mov eax, dword [esp + 8]
mov dword [esi + 0x18], eax
movsd xmm0, qword [esp]
movsd qword [esi + 0x10], xmm0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [esp + 0xc]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x50]
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], eax
mov dword [ebx], esi
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
mov eax, esi
test ecx, ecx
je 0x64e975
mov dword [esp + 0x30], ecx
mov eax, dword [ebx]
push eax
push dword [esp + 0x38]
call fcn.004586f0
add esp, 8
inc dword [esp + 0x38]
test byte [esp], 1
je 0x64e8fc
push dword [esp + 8]
call fcn.0051c570
add esp, 4
test edi, edi
je 0x64ec30
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x14], eax
mov esi, dword [eax + 8]
movzx edx, byte [esi]
mov eax, edx
shr eax, 1
mov ecx, eax
test dl, 1
je 0x64e9bf
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
lea ecx, [ecx + edi*4]
add ecx, 8
mov dword [esp + 0x64], ecx
mov ecx, dword [ecx]
movzx ebx, byte [ecx]
test bl, 1
je 0x64e9f0
mov edi, dword [ecx + 4]
cmp dword [esp + 0x10], edi
je 0x64e9fa
jmp 0x64ea70
mov edi, ebx
shr edi, 1
cmp dword [esp + 0x10], edi
jne 0x64ea70
test bl, 1
je 0x64ea04
mov ecx, dword [ecx + 8]
jmp 0x64ea05
inc ecx
lea edi, [esi + 1]
mov ebx, edi
test dl, 1
je 0x64ea12
mov ebx, dword [esi + 8]
jne 0x64ea4d
cmp dword [esp + 0x10], 0
je 0x64ec30
dec eax
xor edx, edx
nop word cs:[eax + eax]
movzx ebx, byte [edi + edx]
mov bh, byte [ecx + edx]
cmp bl, bh
jne 0x64ea44
lea esi, [edx + 1]
cmp eax, edx
mov edx, esi
jne 0x64ea30
cmp bl, bh
jne 0x64ea70
jmp 0x64ec30
mov eax, dword [esp + 0x10]
test eax, eax
je 0x64ec30
push eax
push ecx
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
add esp, 0xc
test eax, eax
je 0x64ec30
nop dword [eax]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
cmp eax, dword [ecx + edx*4 + 4]
je 0x64ec30
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov edi, dword [esp + 0x64]
push dword [edi]
push str.Enum_name
lea esi, [esp + 0x80]
push esi
call fcn.00523f10
add esp, 0xc
mov ecx, esi
push str._has_the_same_name_as
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 0x70], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x68], xmm0
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
lea eax, [esp + 0x18]
mov dword [esp + 0x50], eax
lea ecx, [esp + 0x30]
lea edx, [esp + 0x3c]
push edx
lea edx, [esp + 0x54]
push edx
push 0x8d316b
push eax
call fcn.00662e70
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 8]
movzx edx, byte [eax]
test dl, 1
je 0x64eb23
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x64eb26
inc eax
shr edx, 1
lea ecx, [esp + 0x68]
push edx
push eax
call fcn.00520110
mov ecx, dword [eax + 8]
mov dword [esp + 0x58], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x50], xmm0
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
lea ecx, [esp + 0x50]
push str._if_you_ignore_case_and_strip_out_the_enum_name_prefix__if_any_._This_is_error_prone_and_can_lead_to_undefined_behavior._Please_avoid_doing_this._If_you_are_using_allow_alias__please_assign_the_same_numeric_value_to_both_enums.
call fcn.00520360
mov ecx, dword [eax + 8]
mov dword [esp + 8], ecx
movsd xmm0, qword [eax]
movsd qword [esp], xmm0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax], 0
test byte [esp + 0x50], 1
jne 0x64ebe3
test byte [esp + 0x68], 1
jne 0x64ebf6
test byte [esp + 0x78], 1
je 0x64ebac
push dword [esp + 0x80]
call fcn.0051c570
add esp, 4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi]
add eax, 0xc
cmp byte [ecx + 3], 2
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x60]
mov edx, dword [ecx + edx*4 + 4]
jne 0x64ec0b
mov ecx, dword [esp + 0x5c]
mov esi, esp
push esi
push 0
push edx
push eax
call fcn.006437c0
test byte [esp], 1
jne 0x64ec21
jmp 0x64ec30
push dword [esp + 0x58]
call fcn.0051c570
add esp, 4
test byte [esp + 0x68], 1
je 0x64eb96
push dword [esp + 0x70]
call fcn.0051c570
add esp, 4
test byte [esp + 0x78], 1
jne 0x64eb9d
jmp 0x64ebac
mov ecx, dword [esp + 0x5c]
mov esi, esp
push esi
push 0
push edx
push eax
call fcn.00643140
test byte [esp], 1
je 0x64ec30
push dword [esp + 8]
call fcn.0051c570
add esp, 4
nop dword [eax]
test byte [esp + 0x18], 1
je 0x64e560
push dword [esp + 0x20]
call fcn.0051c570
add esp, 4
jmp 0x64e560
mov edi, ecx
or edi, 0xf
lea eax, [edi + 1]
push eax
mov esi, ecx
call fcn.0051c3d0
mov ecx, esi
add esp, 4
mov esi, eax
mov dword [esp + 8], eax
add edi, 2
mov dword [esp], edi
mov dword [esp + 4], ecx
push ecx
push ebx
push esi
mov edi, ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x64e7d2
mov eax, dword [esp + 0x34]
jmp 0x64ec8f
xor eax, eax
lea ecx, [esp + 0x30]
push eax
call fcn.0065cf50
test byte [esp + 0x40], 1
je 0x64ecac
push dword [esp + 0x48]
call fcn.0051c570
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov ecx, esp
call fcn.0051f6b0
nop dword [eax]