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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5c
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x14], eax
inc eax
push esi
xor esi, esi
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 8]
push edi
mov dword [esp + 0xc], esi
cmp eax, esi
jne 0x46663e
mov eax, ebx
call fcn.004869d0
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x10]
shr eax, 2
and eax, 1
mov dword [esp + 0x34], eax
cmp dword [ebp + 0x14], esi
je 0x466691
mov eax, dword [ebp + 0xc]
test dword [eax + 4], 0x800
je 0x466691
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
mov edi, dword [eax]
test edi, edi
jle 0x466686
lea ebx, [eax + 8]
mov edi, edi
mov eax, dword [ebx]
call fcn.00466360
test eax, eax
jne 0x466683
inc esi
add ebx, 0x18
cmp esi, edi
jl 0x466670
mov ebx, dword [ebp + 8]
cmp esi, edi
jne 0x466691
mov dword [ebp + 0x14], 0
cmp dword [ebx + 0x24], 0
jne 0x466d0f
mov ecx, dword [ebp + 0xc]
call fcn.00466510
test eax, eax
je 0x466d0f
mov edx, dword [eax]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + 0x18]
mov ecx, dword [ebp + 8]
mov esi, dword [edi + 0x48]
mov ecx, dword [ecx]
mov dword [esp + 0x28], edx
mov edx, dword [edx]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], edi
mov eax, 0xfff0bdc0
test esi, esi
je 0x4666f1
mov edx, dword [ecx + 0x14]
xor eax, eax
test edx, edx
jle 0x4666f1
mov ecx, dword [ecx + 0x10]
add ecx, 0xc
cmp dword [ecx], esi
je 0x4666f1
inc eax
add ecx, 0x10
cmp eax, edx
jl 0x4666e5
mov esi, dword [ebp + 8]
movsx ebx, ax
mov eax, dword [esi + 0x78]
mov dword [esp + 0x30], ebx
test eax, eax
jne 0x466704
mov eax, esi
mov ecx, ebx
mov edx, 1
shl edx, cl
mov ecx, dword [eax + 0x5c]
test edx, ecx
jne 0x466723
or ecx, edx
mov dword [eax + 0x5c], ecx
cmp ebx, 1
jne 0x466723
call fcn.00473d70
mov ecx, dword [edi]
mov edx, dword [edi + 0x1c]
push ecx
push 0
push edx
mov eax, esi
call fcn.0046e470
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp eax, 1
jne 0x4667ff
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 8]
cmp word [edx + 0x20], 0
jge 0x4667ff
mov edi, dword [esp + 0x18]
push 0
push 0
push 0
push 0x14
push edi
call fcn.00451be0
mov ecx, dword [ebp + 8]
add esp, 0x14
push 0x68
mov esi, eax
mov eax, dword [esp + 0x20]
push ebx
push eax
mov eax, dword [esp + 0x30]
push ecx
call fcn.0047b2b0
mov eax, dword [edi + 0x88]
add esp, 0x10
mov dword [esp + 0xc], 1
test esi, esi
jge 0x466799
lea esi, [eax - 1]
mov edx, dword [edi]
cmp byte [edx + 0x45], 0
je 0x4667a8
mov ecx, 0x672248
jmp 0x4667b1
mov edx, dword [edi + 0x58]
lea ecx, [esi + esi*4]
lea ecx, [edx + ecx*4]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xc]
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x1c]
mov dword [edi + 0x1c], ecx
mov esi, dword [ebp + 0x18]
test esi, esi
je 0x466e08
cmp eax, 3
je 0x466e08
cmp eax, 4
je 0x466e08
mov edi, dword [edi + 0xc]
mov cl, byte [edi]
cmp cl, 0x9d
jne 0x4667ec
mov cl, byte [edi + 0x26]
cmp cl, 0x9e
jne 0x466de2
mov edx, dword [edi + 0x14]
mov edx, dword [edx]
jmp 0x466df5
xor edi, edi
mov dword [esp + 0x10], 1
test eax, eax
jle 0x4668ee
mov eax, dword [esp + 0x28]
xor esi, esi
add eax, 8
mov dword [esp + 0x20], eax
cmp dword [esp + 0x10], 0
je 0x466d0f
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0xc]
mov bl, byte [eax]
mov cl, bl
cmp cl, 0x9d
jne 0x46683b
mov cl, byte [eax + 0x26]
cmp cl, 0x9e
jne 0x466847
mov ecx, dword [eax + 0x14]
mov edx, dword [ecx]
jmp 0x466853
cmp cl, 0x77
jne 0x46686f
mov ecx, dword [eax + 0x14]
mov edx, dword [ecx]
mov edx, dword [edx]
cmp edx, 1
jle 0x46686f
cmp bl, 0x77
je 0x466869
cmp byte [eax + 0x26], 0x77
je 0x466869
mov eax, dword [ecx + esi + 8]
jmp 0x46686f
mov eax, dword [ecx]
mov eax, dword [eax + esi + 8]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
movsx ecx, word [edx + 0x20]
test ecx, ecx
jl 0x46688d
mov edx, dword [esp + 0x24]
mov edx, dword [edx + 4]
shl ecx, 4
mov bl, byte [ecx + edx + 0xd]
jmp 0x46688f
mov bl, 0x44
call fcn.00463ff0
test al, al
je 0x4668ad
test bl, bl
je 0x4668b5
cmp al, 0x43
jge 0x4668a9
cmp bl, 0x43
jge 0x4668a9
mov al, 0x41
jmp 0x4668b7
mov al, 0x43
jmp 0x4668b7
test bl, bl
jne 0x4668b5
mov al, 0x41
jmp 0x4668b7
add al, bl
movsx eax, al
sub eax, 0x41
je 0x4668d0
sub eax, 1
je 0x4668d0
xor eax, eax
cmp bl, 0x43
setge al
mov dword [esp + 0x10], eax
add dword [esp + 0x20], 0x18
inc edi
add esi, 0x18
cmp edi, dword [esp + 0x14]
jl 0x46681e
cmp dword [esp + 0x10], 0
je 0x466d0f
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 8]
mov dword [esp + 0x10], eax
test eax, eax
je 0x466d0f
mov esi, eax
jmp 0x466909
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4667b8
movzx eax, word [esi + 0x34]
mov ecx, dword [esp + 0x14]
movzx edx, ax
cmp edx, ecx
jl 0x466cf0
cmp ax, 0x3f
jae 0x466cf0
xor eax, eax
cmp dword [esp + 0x34], eax
je 0x466953
movzx edi, word [esi + 0x32]
cmp edi, ecx
jg 0x466cf0
cmp edx, ecx
jle 0x466953
cmp byte [esi + 0x36], al
je 0x466cf0
cmp ecx, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], eax
jle 0x466aaa
mov edx, dword [esp + 0x28]
add edx, 8
mov dword [esp + 0x20], 0
mov dword [esp + 0x2c], edx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
mov bl, byte [eax]
mov cl, bl
cmp cl, 0x9d
jne 0x46698c
mov cl, byte [eax + 0x26]
cmp cl, 0x9e
jne 0x466998
mov ecx, dword [eax + 0x14]
mov edx, dword [ecx]
jmp 0x4669a4
cmp cl, 0x77
jne 0x4669ca
mov ecx, dword [eax + 0x14]
mov edx, dword [ecx]
mov edx, dword [edx]
cmp edx, 1
jle 0x4669ca
cmp bl, 0x77
je 0x4669be
cmp byte [eax + 0x26], 0x77
je 0x4669be
mov eax, dword [esp + 0x20]
mov ecx, dword [ecx + eax + 8]
jmp 0x4669cc
mov ecx, dword [ecx]
mov edx, dword [esp + 0x20]
mov ecx, dword [ecx + edx + 8]
jmp 0x4669cc
mov ecx, eax
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov eax, 0x100
test dword [ecx + 4], eax
je 0x4669e2
mov edx, dword [ebp + 8]
push edx
jmp 0x466a06
test esi, esi
je 0x4669f1
test dword [esi + 4], eax
je 0x4669f1
mov eax, dword [ebp + 8]
push eax
jmp 0x466a04
mov ebx, dword [ebp + 8]
push ebx
call fcn.00464180
mov edi, eax
add esp, 4
test edi, edi
jne 0x466a10
push ebx
mov ecx, esi
call fcn.00464180
add esp, 4
mov edi, eax
movzx ecx, word [esi + 0x20]
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 4]
xor ebx, ebx
mov dword [esp + 0x38], ecx
mov ax, word [esp + 0x38]
cmp word [esi], ax
jne 0x466a44
test edi, edi
je 0x466a4e
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x20]
mov eax, dword [edx + ebx*4]
mov ecx, dword [edi]
call fcn.00436b40
test eax, eax
je 0x466a4e
inc ebx
add esi, 2
cmp ebx, dword [esp + 0x14]
jl 0x466a21
cmp ebx, dword [esp + 0x14]
je 0x466aaa
mov eax, 1
xor edx, edx
mov ecx, ebx
call fcn.005ad010
mov edi, eax
mov ecx, edi
and ecx, dword [esp + 0x40]
mov eax, edx
and eax, dword [esp + 0x44]
or ecx, eax
jne 0x466aaa
mov eax, dword [ebp + 0x18]
or dword [esp + 0x40], edi
or dword [esp + 0x44], edx
test eax, eax
je 0x466a8a
mov ecx, dword [esp + 0x24]
mov dword [eax + ecx*4], ebx
mov eax, dword [esp + 0x24]
mov ecx, 0x18
add dword [esp + 0x20], ecx
add dword [esp + 0x2c], ecx
inc eax
cmp eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jl 0x46697a
mov ecx, dword [esp + 0x14]
mov eax, 1
xor edx, edx
call fcn.005ad010
add eax, 0xffffffff
adc edx, 0xffffffff
cmp dword [esp + 0x40], eax
jne 0x466cf0
cmp dword [esp + 0x44], edx
jne 0x466cf0
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0xc]
cmp dword [edx + 0x30], ecx
jg 0x466afd
xor ebx, ebx
push ebx
push ebx
push ebx
push 0x14
mov eax, esi
call fcn.00451ba0
add esp, 0x10
mov dword [esp + 0x2c], eax
jmp 0x466b2d
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x58]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
xor edx, edx
mov byte [eax], 0x14
mov word [eax + 2], dx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov byte [eax + 1], dl
mov dword [esp + 0x2c], ecx
xor ebx, ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edi, dword [esp + 0x3c]
push ecx
push str.USING_INDEX__s_FOR_IN_OPERATOR
call fcn.00435ba0
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0xc]
add esp, 8
cmp dword [edx + 0x30], ecx
mov edi, eax
jg 0x466b69
push ebx
push ebx
push ebx
push 0xa7
mov eax, esi
call fcn.00451ba0
add esp, 0x10
jmp 0x466b95
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x58]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
xor edx, edx
mov byte [eax], 0xa7
mov word [eax + 2], dx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], dl
mov eax, ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x45], 0
je 0x466bab
mov eax, edi
mov edx, 0xfffffff9
call fcn.004524d0
jmp 0x466be4
cmp eax, ebx
jge 0x466bb6
mov eax, dword [esi + 0x88]
dec eax
mov ecx, dword [esi + 0x58]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
lea eax, [ecx + eax*4]
je 0x466bd9
push edi
push eax
mov eax, 0xfffffff9
mov ecx, esi
call fcn.00452630
add esp, 8
jmp 0x466be4
cmp edi, ebx
je 0x466be4
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf9
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x2c]
mov eax, dword [esi + 0x88]
mov edx, dword [esi + 0xc]
cmp dword [edx + 0x30], eax
jg 0x466c12
mov eax, dword [esp + 0x30]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push ecx
push 0x68
mov eax, esi
call fcn.00451ba0
add esp, 0x10
jmp 0x466c45
lea edx, [eax + 1]
mov dword [esi + 0x88], edx
mov edx, dword [esi + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x1c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov byte [eax], 0x68
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov edx, dword [esp + 0x10]
mov ebx, dword [ebp + 8]
mov edi, dword [ebx + 8]
push edx
push ebx
call fcn.00474580
add esp, 8
test eax, eax
je 0x466c88
mov ecx, dword [edi]
cmp byte [ecx + 0x45], 0
je 0x466c71
mov edx, 0xfffffff7
call fcn.004524d0
jmp 0x466c88
mov ecx, dword [edi + 0x88]
mov edx, dword [edi + 0x58]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*4 - 0x14]
mov byte [ecx + 1], 0xf7
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x1c]
movzx eax, byte [ecx]
add eax, 3
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x466cc4
mov ecx, 1
add dword [ebx + 0x2c], ecx
mov ebx, dword [ebx + 0x2c]
mov dword [eax], ebx
cmp dword [esp + 0x14], ecx
jne 0x466cc4
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
push edx
call fcn.00466580
add esp, 4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0x88]
test eax, eax
jge 0x466cd5
lea eax, [ecx - 1]
mov edx, dword [esi]
cmp byte [edx + 0x45], 0
je 0x466ce4
mov eax, 0x672248
jmp 0x466ced
mov edx, dword [esi + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x466905
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4667b8
test byte [ebp + 0x10], 1
mov edi, dword [ebp + 0xc]
je 0x466d73
test dword [edi + 4], 0x800
jne 0x466d73
mov esi, dword [edi + 0xc]
xor eax, eax
lea ecx, [esp + 0x4c]
push edi
push ecx
mov dword [edi + 0xc], eax
mov byte [esp + 0x68], 1
mov dword [esp + 0x58], 0x466030
mov dword [esp + 0x5c], 0x466140
mov dword [esp + 0x6c], eax
call fcn.00462140
add esp, 8
cmp byte [esp + 0x60], 0
mov dword [edi + 0xc], esi
je 0x466d62
mov edx, dword [edi + 0x14]
cmp dword [edx], 2
jg 0x466d73
mov dword [esp + 0xc], 5
mov eax, dword [esp + 0xc]
jmp 0x4667bb
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 0x84]
xor eax, eax
test byte [ebp + 0x10], 4
mov dword [esp + 0xc], 2
je 0x466dae
mov dword [esi + 0x84], eax
mov ecx, dword [edi + 0xc]
cmp word [ecx + 0x20], ax
jge 0x466dbd
test dword [edi + 4], 0x800
jne 0x466dbd
mov dword [esp + 0xc], 1
jmp 0x466dbd
mov ecx, dword [ebp + 0x14]
cmp ecx, eax
je 0x466dbd
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [ecx], eax
xor edx, edx
cmp dword [esp + 0xc], 1
sete dl
push edx
push eax
push edi
push esi
call fcn.00466fc0
mov eax, dword [esp + 0x1c]
add esp, 0x10
mov dword [esi + 0x84], ebx
jmp 0x4667c2
cmp cl, 0x77
jne 0x466df0
mov ecx, dword [edi + 0x14]
mov edx, dword [ecx]
mov edx, dword [edx]
jmp 0x466df5
mov edx, 1
xor ecx, ecx
test edx, edx
jle 0x466e08
jmp 0x466e00
mov dword [esi + ecx*4], ecx
inc ecx
cmp ecx, edx
jl 0x466e00
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret