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

Disassembly:
sub esp, 0x5c
push ebx
push ebp
mov ebp, dword [esp + 0x68]
xor eax, eax
mov dword [esp + 0x14], eax
push esi
push edi
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x20], eax
inc eax
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x64e466
cmp dword [ebp + 0x78], eax
jne 0x64e459
mov eax, dword [ebp]
test byte [eax + 0x44], 8
jne 0x64e459
mov byte [ebp + 0x17], 1
push ebp
call fcn.0066c560
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
shr eax, 2
and eax, 1
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x74]
test ebx, ebx
je 0x64e4c6
test dword [eax + 4], 0x800
je 0x64e4c6
mov eax, dword [eax + 0x14]
xor edx, edx
mov esi, dword [eax]
mov edi, dword [esi]
test edi, edi
jle 0x64e4b6
add esi, 4
lea esp, [esp]
push dword [esi]
call fcn.0064a140
add esp, 4
test eax, eax
jne 0x64e4b6
inc edx
add esi, 0x18
cmp edx, edi
jl 0x64e4a0
mov eax, dword [esp + 0x74]
sub edx, edi
neg edx
sbb edx, edx
and edx, ebx
mov dword [esp + 0x7c], edx
cmp dword [ebp + 0x24], 0
jne 0x64eb70
push eax
call fcn.0062f540
add esp, 4
test eax, eax
je 0x64eb70
mov ecx, dword [eax]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp]
mov dword [esp + 0x30], ecx
mov edi, dword [ecx]
mov ecx, 0xfff0bdc0
mov ebx, dword [eax + 0x18]
mov dword [esp + 0x48], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x3c], ebx
mov esi, dword [ebx + 0x48]
test esi, esi
je 0x64e52c
mov edx, dword [edx + 0x14]
xor ecx, ecx
test edx, edx
jle 0x64e52c
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x10]
add eax, 0xc
lea ecx, [ecx]
cmp dword [eax], esi
je 0x64e52c
inc ecx
add eax, 0x10
cmp ecx, edx
jl 0x64e520
mov eax, dword [ebp + 0x78]
movsx esi, cx
mov dword [esp + 0x40], esi
test eax, eax
jne 0x64e53c
mov eax, ebp
mov ecx, esi
mov edx, 1
shl edx, cl
mov ecx, dword [eax + 0x5c]
test edx, ecx
jne 0x64e55f
or ecx, edx
mov dword [eax + 0x5c], ecx
cmp esi, 1
jne 0x64e55f
push eax
call fcn.0065bc80
add esp, 4
push dword [ebx]
push 0
push dword [ebx + 0x1c]
push esi
push ebp
call fcn.00667af0
add esp, 0x14
cmp edi, 1
jne 0x64e603
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 4]
cmp word [eax + 0x20], 0
jge 0x64e603
mov edi, dword [esp + 0x10]
push 0x14
push edi
call fcn.0066bae0
push 0x68
push ebx
push dword [esp + 0x50]
mov esi, eax
push dword [esp + 0x34]
push ebp
call fcn.0065b970
mov edx, dword [edi + 0x88]
add esp, 0x1c
mov dword [esp + 0x1c], 1
test esi, esi
jns 0x64e5be
lea esi, [edx - 1]
mov eax, dword [edi]
cmp byte [eax + 0x49], 0
je 0x64e5e2
mov ebx, dword [esp + 0x74]
mov eax, 0xb2e43c
mov edi, dword [esp + 0x1c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x1c], eax
jmp 0x64ec34
mov eax, dword [edi + 0x58]
lea ecx, [esi + esi*4]
mov edi, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x1c], eax
jmp 0x64ec34
mov eax, 1
xor ebp, ebp
mov dword [esp + 0x2c], eax
test edi, edi
jle 0x64e6e8
xor edi, edi
test eax, eax
je 0x64eb6c
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0xc]
mov bl, byte [ecx]
mov al, bl
cmp al, 0x96
jne 0x64e632
mov al, byte [ecx + 0x26]
cmp al, 0x97
jne 0x64e63f
mov eax, dword [ecx + 0x14]
mov edx, dword [eax]
mov esi, edx
jmp 0x64e64a
cmp al, 0x77
jne 0x64e664
mov eax, dword [ecx + 0x14]
mov edx, dword [eax]
mov esi, dword [edx]
cmp esi, 1
jle 0x64e664
cmp bl, 0x77
je 0x64e660
cmp byte [ecx + 0x26], 0x77
je 0x64e660
mov ecx, dword [edi + eax + 4]
jmp 0x64e664
mov ecx, dword [edi + edx + 4]
mov eax, dword [esp + 0x30]
mov eax, dword [eax + edi + 4]
movsx edx, word [eax + 0x20]
test edx, edx
js 0x64e683
mov eax, dword [esp + 0x3c]
add edx, edx
mov eax, dword [eax + 4]
mov bl, byte [eax + edx*8 + 0xd]
jmp 0x64e685
mov bl, 0x44
push ecx
call fcn.00649950
add esp, 4
test al, al
je 0x64e6a7
test bl, bl
je 0x64e6af
cmp al, 0x43
jge 0x64e6a3
cmp bl, 0x43
jge 0x64e6a3
mov al, 0x41
jmp 0x64e6b1
mov al, 0x43
jmp 0x64e6b1
test bl, bl
jne 0x64e6af
mov al, 0x41
jmp 0x64e6b1
add al, bl
movsx eax, al
sub eax, 0x41
je 0x64e6ca
dec eax
je 0x64e6ca
xor eax, eax
cmp bl, 0x43
setge al
mov dword [esp + 0x2c], eax
jmp 0x64e6ce
mov eax, dword [esp + 0x2c]
inc ebp
add edi, 0x18
cmp ebp, dword [esp + 0x18]
jl 0x64e618
test eax, eax
je 0x64eb6c
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx + 8]
mov dword [esp + 0x14], ebp
test ebp, ebp
je 0x64eb6c
mov ebx, dword [esp + 0x18]
xor edi, edi
lea ecx, [ecx]
test edi, edi
jne 0x64e5f3
movzx eax, word [ebp + 0x34]
mov ecx, eax
cmp ecx, ebx
jl 0x64eb55
cmp eax, 0x3f
jae 0x64eb55
cmp dword [esp + 0x4c], edi
je 0x64e73f
movzx eax, word [ebp + 0x32]
cmp eax, ebx
jg 0x64eb55
cmp ecx, ebx
jle 0x64e73f
cmp byte [ebp + 0x36], 0
je 0x64eb55
xor edi, edi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], edi
mov dword [esp + 0x3c], edi
test ebx, ebx
jle 0x64e8eb
mov dword [esp + 0x44], edi
lea ecx, [ecx]
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0xc]
mov bl, byte [eax]
mov cl, bl
cmp cl, 0x96
jne 0x64e773
mov cl, byte [eax + 0x26]
cmp cl, 0x97
jne 0x64e781
mov ecx, dword [eax + 0x14]
mov edx, dword [ecx]
mov esi, edx
jmp 0x64e78d
cmp cl, 0x77
jne 0x64e7a7
mov ecx, dword [eax + 0x14]
mov edx, dword [ecx]
mov esi, dword [edx]
cmp esi, 1
jle 0x64e7a7
cmp bl, 0x77
je 0x64e7a3
cmp byte [eax + 0x26], 0x77
je 0x64e7a3
mov eax, dword [edi + ecx + 4]
jmp 0x64e7a7
mov eax, dword [edi + edx + 4]
test dword [eax + 4], 0x100
mov ecx, dword [esp + 0x30]
mov esi, dword [ecx + edi + 4]
je 0x64e7bf
push eax
push dword [esp + 0x74]
jmp 0x64e7eb
test esi, esi
je 0x64e7d3
test dword [esi + 4], 0x100
je 0x64e7d3
push esi
push dword [esp + 0x74]
jmp 0x64e7eb
mov ebx, dword [esp + 0x70]
push eax
push ebx
call fcn.0064c970
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
jne 0x64e7f7
push esi
push ebx
call fcn.0064c970
add esp, 8
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x14]
xor ebp, ebp
movzx ecx, word [esi + 0x20]
mov dword [esp + 0x34], ecx
mov edx, dword [ebx + 4]
mov dword [esp + 0x38], edx
lea esp, [esp]
cmp word [edx], cx
jne 0x64e873
test eax, eax
je 0x64e885
mov ecx, dword [ebx + 0x20]
mov eax, dword [eax]
mov edi, dword [ecx + ebp*4]
mov bl, byte [eax]
movzx ecx, bl
movzx esi, byte [ecx + 0x6c13b0]
movzx ecx, byte [edi]
movzx ecx, byte [ecx + 0x6c13b0]
sub esi, ecx
jne 0x64e86b
sub edi, eax
lea ecx, [ecx]
test bl, bl
je 0x64e863
movzx ecx, byte [edi + eax + 1]
inc eax
mov bl, byte [eax]
movzx edx, byte [ecx + 0x6c13b0]
movzx ecx, bl
movzx esi, byte [ecx + 0x6c13b0]
sub esi, edx
je 0x64e840
jmp 0x64e867
test esi, esi
je 0x64e885
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
inc ebp
add edx, 2
mov dword [esp + 0x38], edx
cmp ebp, dword [esp + 0x18]
jl 0x64e810
mov ebx, dword [esp + 0x18]
cmp ebp, ebx
je 0x64e8e3
mov eax, 1
xor edx, edx
mov ecx, ebp
call fcn.00519a30
mov edi, dword [esp + 0x28]
mov esi, eax
mov ecx, esi
mov eax, edx
and ecx, dword [esp + 0x2c]
and eax, edi
or ecx, eax
jne 0x64e8e7
or dword [esp + 0x2c], esi
or edi, edx
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x28], edi
test eax, eax
je 0x64e8cb
mov dword [eax + edx*4], ebp
mov edi, dword [esp + 0x44]
inc edx
add edi, 0x18
mov dword [esp + 0x3c], edx
mov dword [esp + 0x44], edi
cmp edx, ebx
jl 0x64e760
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
mov eax, 1
xor edx, edx
mov ecx, ebx
call fcn.00519a30
add eax, 0xffffffff
adc edx, 0xffffffff
cmp dword [esp + 0x2c], eax
jne 0x64eb51
cmp edi, edx
jne 0x64eb51
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
mov esi, dword [edx + 0x88]
cmp dword [eax + 0x30], esi
jg 0x64e938
push 0
push 0
push 0
push 0x14
push edx
call fcn.0062e2b0
add esp, 0x14
mov esi, eax
jmp 0x64e96e
lea eax, [esi + 1]
mov dword [edx + 0x88], eax
lea ecx, [esi + esi*4]
mov eax, dword [edx + 0x58]
mov dword [eax + ecx*4], 0x14
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push dword [ebp]
push str.USING_INDEX__s_FOR_IN_OPERATOR
push dword [esp + 0x50]
call fcn.0065af10
mov ecx, dword [esp + 0x1c]
mov edi, eax
add esp, 0xc
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x88]
cmp dword [eax + 0x30], edx
jg 0x64e9ae
push 0
push 0
push 0
push 0xa7
push ecx
call fcn.0062e2b0
add esp, 0x14
mov edx, eax
jmp 0x64e9ec
mov ebx, dword [esp + 0x18]
lea eax, [edx + 1]
mov dword [ecx + 0x88], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x58]
mov dword [eax + ecx*4], 0xa7
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
cmp byte [eax + 0x49], 0
je 0x64ea06
push edi
push 0xfffffffffffffff9
push eax
call fcn.0061ba30
add esp, 0xc
jmp 0x64ea43
test edx, edx
jns 0x64ea11
mov edx, dword [ecx + 0x88]
dec edx
mov eax, dword [esp + 0x10]
lea ecx, [edx + edx*4]
mov eax, dword [eax + 0x58]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x64ea38
push 0xfffffffffffffff9
push edi
mov edi, dword [esp + 0x18]
push eax
push edi
call fcn.0067fa50
add esp, 0x10
jmp 0x64ea47
test edi, edi
je 0x64ea43
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf9
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x88]
mov edx, dword [ebp + 0x2c]
cmp dword [eax + 0x30], ecx
jg 0x64ea6e
push dword [esp + 0x40]
push edx
push dword [esp + 0x28]
push 0x68
push edi
call fcn.0062e2b0
add esp, 0x14
jmp 0x64eaa0
lea eax, [ecx + 1]
mov dword [edi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x58]
mov edi, dword [esp + 0x20]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x68
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x70]
push ebp
push eax
mov edi, dword [eax + 8]
call fcn.00659d70
mov edx, eax
add esp, 8
test edx, edx
je 0x64eae2
mov eax, dword [edi]
cmp byte [eax + 0x49], 0
je 0x64eacd
push edx
push 0xfffffffffffffff7
push eax
call fcn.0061ba30
add esp, 0xc
jmp 0x64eae2
mov eax, dword [edi + 0x88]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [ebp + 0x1c]
mov edx, dword [esp + 0x7c]
movzx edi, byte [eax]
add edi, 3
mov dword [esp + 0x1c], edi
test edx, edx
je 0x64eb1b
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [ecx + 0x2c], eax
mov dword [edx], eax
cmp ebx, 1
jne 0x64eb1b
push eax
push dword [esp + 0x24]
mov eax, dword [esp + 0x18]
push eax
call fcn.006664e0
add esp, 0xc
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x88]
test esi, esi
jns 0x64eb2c
lea esi, [edx - 1]
mov eax, dword [eax]
cmp byte [eax + 0x49], 0
je 0x64eb3e
mov eax, 0xb2e43c
mov dword [eax + 8], edx
jmp 0x64eb55
mov eax, dword [esp + 0x10]
lea ecx, [esi + esi*4]
mov eax, dword [eax + 0x58]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x64eb55
mov edi, dword [esp + 0x1c]
mov ebp, dword [ebp + 0x14]
mov dword [esp + 0x14], ebp
test ebp, ebp
jne 0x64e700
test edi, edi
jne 0x64e5f3
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
test al, 1
je 0x64ebde
test dword [ebx + 4], 0x800
jne 0x64ebde
mov esi, dword [ebx + 0xc]
lea eax, [esp + 0x50]
push ebx
push eax
mov dword [ebx + 0xc], 0
mov byte [esp + 0x6c], 1
mov dword [esp + 0x5c], fcn.00618a60
mov dword [esp + 0x60], 0x666430
mov dword [esp + 0x70], 0
call fcn.00685c10
add esp, 8
mov dword [ebx + 0xc], esi
cmp byte [esp + 0x64], 0
je 0x64ebcc
mov eax, dword [ebx + 0x14]
cmp dword [eax], 2
jg 0x64ebda
mov eax, dword [esp + 0x20]
mov edi, 5
mov dword [ebx + 0x1c], eax
jmp 0x64ec34
mov eax, dword [esp + 0x78]
mov esi, dword [ebp + 0x84]
xor ecx, ecx
lea edi, [ecx + 2]
test al, 4
je 0x64ec0a
mov dword [ebp + 0x84], ecx
mov eax, dword [ebx + 0xc]
cmp word [eax + 0x20], cx
jge 0x64ec1a
test dword [ebx + 4], 0x800
jne 0x64ec1a
lea edi, [ecx + 1]
jmp 0x64ec1a
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x64ec1a
inc dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x2c]
mov dword [eax], ecx
xor eax, eax
cmp edi, 1
sete al
push eax
push ecx
push ebx
push ebp
call fcn.00645590
add esp, 0x10
mov dword [ebp + 0x84], esi
mov edx, dword [esp + 0x80]
test edx, edx
je 0x64ec80
cmp edi, 3
je 0x64ec80
cmp edi, 4
je 0x64ec80
mov ecx, dword [ebx + 0xc]
mov al, byte [ecx]
cmp al, 0x96
jne 0x64ec55
mov al, byte [ecx + 0x26]
cmp al, 0x97
jne 0x64ec60
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
jmp 0x64ec72
cmp al, 0x77
jne 0x64ec6d
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x64ec72
mov eax, 1
xor ecx, ecx
test eax, eax
jle 0x64ec80
mov dword [edx + ecx*4], ecx
inc ecx
cmp ecx, eax
jl 0x64ec78
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret