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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
mov eax, dword [0x4f3070]
xor eax, esp
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x14]
push ebx
mov ebx, ecx
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
push esi
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x28], eax
inc eax
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x18], eax
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x40], edi
test eax, eax
jne 0x453010
cmp dword [ebx + 0x74], eax
jne 0x453003
mov eax, dword [ebx]
test byte [eax + 0x4c], 8
jne 0x453003
mov byte [ebx + 0x17], 1
call fcn.00439340
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
test edi, edi
je 0x45305a
test dword [edx + 4], 0x800
je 0x45305a
mov eax, dword [edx + 0x14]
xor esi, esi
mov edi, dword [eax + 0x1c]
mov ebx, dword [edi]
test ebx, ebx
jle 0x453047
add edi, 4
nop
mov ecx, dword [edi]
call fcn.00452c00
test eax, eax
jne 0x453043
inc esi
add edi, 0x14
cmp esi, ebx
jl 0x453030
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x40]
xor eax, eax
cmp esi, ebx
mov ebx, dword [esp + 0x10]
cmove edi, eax
mov dword [esp + 0x40], edi
cmp dword [ebx + 0x24], 0
mov edi, 1
jne 0x453638
mov ecx, edx
call fcn.00452de0
test eax, eax
je 0x453638
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
mov edx, dword [ebx]
mov dword [esp + 0x44], ecx
mov ecx, dword [ecx]
mov ebx, dword [eax + 0x18]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x28], 0xffff8000
mov ecx, dword [ebx + 0x48]
test ecx, ecx
je 0x4530bc
mov eax, dword [edx + 0x10]
xor esi, esi
add eax, 0xc
mov dword [esp + 0x28], esi
cmp dword [eax], ecx
je 0x4530bc
lea eax, [eax + 0x10]
inc esi
cmp dword [eax], ecx
jne 0x4530b0
mov dword [esp + 0x28], esi
mov edi, dword [esp + 0x10]
mov edx, edi
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 0x74]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov esi, dword [edx + 0x54]
test esi, eax
jne 0x4530f2
bts esi, ecx
mov dword [edx + 0x54], esi
cmp ecx, 1
jne 0x4530f2
mov ecx, edx
call fcn.00466380
mov ecx, dword [esp + 0x28]
push dword [ebx]
mov edx, ecx
mov ecx, edi
push 0
push dword [ebx + 0x1c]
call fcn.0045eb60
mov edx, dword [esp + 0x20]
add esp, 0xc
cmp edx, 1
jne 0x453194
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 4]
cmp word [eax + 0x20], 0
jge 0x453194
mov ecx, dword [esp + 0x1c]
mov edx, 0x11
call fcn.004397a0
mov edx, dword [esp + 0x2c]
mov ecx, edi
push 0x60
push ebx
push dword [esp + 0x30]
mov esi, eax
call fcn.0046f7c0
add esp, 0xc
mov dword [esp + 0x20], 1
push dword [ebx]
push str.USING_ROWID_SEARCH_ON_TABLE__s_FOR_IN_OPERATOR
push 0
push edi
call fcn.00439cd0
mov ebx, dword [esp + 0x2c]
add esp, 0x10
mov edx, dword [ebx + 0x6c]
test esi, esi
jns 0x45316d
lea esi, [edx - 1]
mov eax, dword [ebx]
cmp byte [eax + 0x51], 0
je 0x453182
mov eax, 0x4f66a4
mov dword [eax + 8], edx
jmp 0x4536f5
mov eax, dword [ebx + 0x68]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x4536f5
mov eax, 1
xor edi, edi
mov dword [esp + 0x24], eax
test edx, edx
jle 0x453286
xor esi, esi
nop dword [eax]
test eax, eax
je 0x45362f
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0xc]
mov bl, byte [edx]
mov al, bl
cmp al, 0xad
jne 0x4531ca
mov al, byte [edx + 2]
cmp al, 0xae
jne 0x4531d5
mov ecx, dword [edx + 0x14]
mov eax, dword [ecx]
jmp 0x4531e1
cmp al, 0x88
jne 0x4531fe
mov ecx, dword [edx + 0x14]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax]
cmp eax, 1
jle 0x4531fe
cmp bl, 0x88
je 0x4531f7
cmp byte [edx + 2], 0x88
je 0x4531f7
mov edx, dword [esi + ecx + 4]
jmp 0x4531fe
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax + esi + 4]
mov eax, dword [esp + 0x44]
mov eax, dword [eax + esi + 4]
movsx eax, word [eax + 0x20]
test eax, eax
js 0x45321e
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 4]
mov bl, byte [eax + ecx*4 + 0xd]
jmp 0x453220
mov bl, 0x44
mov ecx, edx
call fcn.00450250
cmp al, 0x40
jle 0x453246
cmp bl, 0x40
jle 0x453241
cmp al, 0x43
jge 0x45323d
cmp bl, 0x43
jge 0x45323d
mov al, 0x41
jmp 0x45324b
mov al, 0x43
jmp 0x45324b
movsx eax, al
jmp 0x453249
movsx eax, bl
or al, 0x40
movsx eax, al
sub eax, 0x41
je 0x453266
sub eax, 1
je 0x453266
xor eax, eax
cmp bl, 0x43
setge al
mov dword [esp + 0x24], eax
jmp 0x45326a
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
inc edi
add esi, 0x14
cmp edi, edx
jl 0x4531b0
test eax, eax
je 0x45362f
mov ebx, dword [esp + 0x38]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x45362f
xor edi, edi
test edi, edi
jne 0x4536f9
movzx eax, word [ebx + 0x34]
mov ecx, eax
cmp ecx, edx
jl 0x453618
cmp dword [ebx + 0x24], edi
jne 0x453618
cmp eax, 0x3f
jae 0x453618
test byte [ebp + 8], 4
je 0x4532df
movzx eax, word [ebx + 0x32]
cmp eax, edx
jg 0x453618
cmp ecx, edx
jle 0x4532df
cmp byte [ebx + 0x36], 0
je 0x453618
mov dword [esp + 0x38], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x50], xmm0
test edx, edx
jle 0x4534c3
mov eax, dword [esp + 0x54]
xor esi, esi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x48], esi
mov dword [esp + 0x3c], eax
nop
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0xc]
mov bl, byte [edx]
mov al, bl
cmp al, 0xad
jne 0x453322
mov al, byte [edx + 2]
cmp al, 0xae
jne 0x45332d
mov ecx, dword [edx + 0x14]
mov eax, dword [ecx]
jmp 0x453339
cmp al, 0x88
jne 0x453356
mov ecx, dword [edx + 0x14]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax]
cmp eax, 1
jle 0x453356
cmp bl, 0x88
je 0x45334f
cmp byte [edx + 2], 0x88
je 0x45334f
mov edx, dword [esi + ecx + 4]
jmp 0x453356
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax + esi + 4]
test dword [edx + 4], 0x100
mov eax, dword [esp + 0x44]
mov esi, dword [esi + eax + 4]
je 0x45336d
mov ecx, dword [esp + 0x10]
jmp 0x453397
test esi, esi
je 0x453380
test dword [esi + 4], 0x100
je 0x453380
mov ecx, dword [esp + 0x10]
jmp 0x453395
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.00450400
mov dword [esp + 0x24], eax
test eax, eax
jne 0x4533a0
mov ecx, ebx
mov edx, esi
call fcn.00450400
mov dword [esp + 0x24], eax
movzx ecx, word [esi + 0x20]
xor edi, edi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x58], ecx
mov ebx, dword [esi + 4]
cmp word [ebx], cx
jne 0x4533f3
test eax, eax
je 0x453401
mov edx, dword [eax]
mov eax, dword [esi + 0x20]
mov esi, dword [eax + edi*4]
sub esi, edx
movzx eax, byte [edx]
movzx ecx, byte [esi + edx]
cmp eax, ecx
jne 0x4533d6
test eax, eax
je 0x453401
inc edx
jmp 0x4533c4
movzx ecx, byte [ecx + 0x4e4590]
movzx eax, byte [eax + 0x4e4590]
sub eax, ecx
jne 0x4533eb
inc edx
jmp 0x4533c4
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
inc edi
add ebx, 2
cmp edi, dword [esp + 0x14]
jl 0x4533b1
mov ebx, dword [esp + 0x14]
cmp edi, ebx
je 0x45345f
xor edx, edx
mov eax, edi
bts edx, eax
xor esi, esi
cmp eax, 0x20
cmovae esi, edx
xor edx, esi
cmp eax, 0x40
mov ecx, edx
cmovae esi, edx
and ecx, dword [esp + 0x3c]
mov eax, esi
and eax, dword [esp + 0x30]
or ecx, eax
jne 0x45345f
or dword [esp + 0x3c], edx
or dword [esp + 0x30], esi
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x38]
test eax, eax
je 0x453447
mov dword [eax + ecx*4], edi
mov esi, dword [esp + 0x48]
inc ecx
add esi, 0x14
mov dword [esp + 0x38], ecx
mov dword [esp + 0x48], esi
cmp ecx, ebx
jl 0x453310
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
mov eax, edx
xor ecx, ecx
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
cmp dword [esp + 0x3c], ecx
jne 0x453614
cmp esi, edx
jne 0x453614
mov edi, dword [esp + 0x1c]
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x70], esi
jg 0x4534d1
push 0
push 0
push 0
mov edx, 0x11
mov ecx, edi
call fcn.004396f0
add esp, 0xc
mov esi, eax
jmp 0x453504
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x3c], eax
jmp 0x45346f
lea eax, [esi + 1]
mov dword [edi + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x11
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 [ebx]
push str.USING_INDEX__s_FOR_IN_OPERATOR
push 0
push dword [esp + 0x1c]
call fcn.00439cd0
mov ecx, dword [edi + 0x6c]
add esp, 0x10
mov edx, dword [ebx + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x45353e
push dword [esp + 0x28]
mov ecx, edi
push edx
push dword [esp + 0x34]
mov edx, 0x60
call fcn.004396f0
add esp, 0xc
jmp 0x45356d
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x60
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 + 0x10]
mov edx, ebx
mov ecx, eax
mov edi, dword [eax + 8]
call fcn.00466cd0
mov edx, eax
test edx, edx
je 0x4535ad
mov ecx, dword [edi]
cmp byte [ecx + 0x51], 0
je 0x45359b
push edx
mov edx, 0xfffffff7
call fcn.0043a4e0
add esp, 4
jmp 0x4535ad
mov eax, dword [edi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [ebx + 0x1c]
mov edx, dword [esp + 0x40]
movzx edi, byte [eax]
add edi, 3
mov dword [esp + 0x20], edi
test edx, edx
je 0x4535e7
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x2c]
inc eax
cmp dword [esp + 0x14], 1
mov dword [ecx + 0x2c], eax
mov dword [edx], eax
jne 0x4535e7
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.00452e50
add esp, 4
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0x6c]
test esi, esi
jns 0x4535f5
lea esi, [edx - 1]
mov eax, dword [eax]
cmp byte [eax + 0x51], 0
je 0x453604
mov eax, 0x4f66a4
jmp 0x453611
mov eax, dword [esp + 0x1c]
lea ecx, [esi + esi*4]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x14]
mov ebx, dword [ebx + 0x14]
mov dword [esp + 0x34], ebx
test ebx, ebx
jne 0x453297
test edi, edi
jne 0x4536f9
mov ebx, dword [esp + 0x10]
mov edi, 1
test byte [ebp + 8], 1
mov ecx, dword [esp + 0x18]
je 0x45369b
test dword [ecx + 4], 0x800
jne 0x45369b
mov esi, dword [ecx + 0xc]
mov edx, ecx
mov dword [ecx + 0xc], 0
lea ecx, [esp + 0x60]
mov word [esp + 0x74], di
mov dword [esp + 0x64], fcn.004528b0
mov dword [esp + 0x68], 0x452740
mov dword [esp + 0x78], 0
call fcn.0044d840
cmp word [esp + 0x74], 0
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0xc], esi
je 0x453694
mov eax, dword [ecx + 0x14]
cmp dword [eax], 2
jg 0x45369b
mov edi, 5
jmp 0x4536fd
mov edi, dword [ebx + 0x88]
xor esi, esi
test byte [ebp + 8], 4
mov eax, 2
mov dword [esp + 0x20], eax
je 0x4536ba
mov dword [ebx + 0x88], esi
jmp 0x4536ca
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4536ca
inc dword [ebx + 0x2c]
mov esi, dword [ebx + 0x2c]
mov dword [eax], esi
push dword [esp + 0x2c]
mov edx, ecx
mov ecx, ebx
call fcn.00453970
add esp, 4
test esi, esi
je 0x4536ef
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
push esi
call fcn.00452e50
add esp, 4
mov dword [ebx + 0x88], edi
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x4537a9
cmp edi, 3
je 0x4537a9
cmp edi, 4
je 0x4537a9
mov ecx, dword [ecx + 0xc]
mov al, byte [ecx]
cmp al, 0xad
jne 0x453727
mov al, byte [ecx + 2]
cmp al, 0xae
jne 0x453732
mov eax, dword [ecx + 0x14]
mov edx, dword [eax]
jmp 0x453745
cmp al, 0x88
jne 0x453740
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax]
jmp 0x453745
mov edx, 1
xor ecx, ecx
test edx, edx
jle 0x4537a9
cmp edx, 8
jb 0x45379d
movaps xmm1, xmmword [0x4ee940]
mov eax, edx
and eax, 0x80000007
jns 0x453765
dec eax
or eax, 0xfffffff8
inc eax
mov esi, edx
sub esi, eax
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
movups xmmword [ebx + ecx*4], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
movups xmmword [ebx + ecx*4 + 0x10], xmm0
add ecx, 8
cmp ecx, esi
jl 0x453770
cmp ecx, edx
jge 0x4537a9
mov dword [ebx + ecx*4], ecx
inc ecx
cmp ecx, edx
jl 0x4537a1
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x2c]
mov dword [ecx], eax
mov eax, edi
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004b4119
mov esp, ebp
pop ebp
ret