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

Disassembly:
sub esp, 0x74
push ebx
push ebp
push esi
xor ebx, ebx
mov esi, edx
push edi
push ebx
mov edi, ecx
mov dword [esp + 0x54], esi
push ebx
push ebx
push 0x11
mov ebp, dword [edi + 8]
mov ecx, ebp
pop edx
mov dword [esp + 0x58], edi
mov byte [esp + 0x1f], bl
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x20], ebp
call fcn.0041b599
mov ecx, dword [esp + 0x94]
add esp, 0xc
imul edx, dword [esi + 0xc], 0x30
xorps xmm0, xmm0
mov dword [esp + 0x60], eax
mov dword [esp + 0x18], ebx
mov eax, dword [ecx + 0x10]
mov ebx, dword [esi + 0x14]
mov dword [esp + 0x30], eax
add edx, ebx
mov eax, dword [esp + 0x94]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], edx
movlpd qword [esp + 0x40], xmm0
mov esi, dword [eax + 0x40]
mov dword [esp + 0x28], esi
cmp ebx, edx
jae 0x450d11
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
jmp 0x450b1e
mov ecx, dword [esp + 0x88]
mov eax, dword [esi]
or eax, dword [esi + 4]
jne 0x450c10
test byte [ebx + 0xa], 2
jne 0x450c10
mov esi, dword [ebx]
test byte [esi + 4], 1
jne 0x450c10
push dword [ecx + 0x2c]
mov ecx, esi
push 3
pop edx
call fcn.0042aefd
pop ecx
test eax, eax
je 0x450c10
mov ecx, dword [edi]
mov edx, esi
push 0
call fcn.0042a5cc
mov edx, dword [esp + 0x24]
mov esi, eax
pop ecx
mov ecx, dword [edi]
mov dword [esp + 0x48], ecx
test edx, edx
jne 0x450b7a
mov dword [esp + 0x20], esi
jmp 0x450c10
test esi, esi
je 0x450c10
mov eax, dword [edx + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x450baf
mov eax, dword [esi + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x450baf
push esi
push edx
push 0x2c
pop edx
mov ecx, edi
call fcn.00429e57
pop ecx
jmp 0x450c0b
cmp byte [edi + 0xc0], 2
jb 0x450bea
xorps xmm0, xmm0
mov dword [esp + 0x64], edi
lea ecx, [esp + 0x64]
movlpd qword [esp + 0x70], xmm0
movlpd qword [esp + 0x78], xmm0
mov dword [esp + 0x68], 0x42f48e
mov dword [esp + 0x6c], 0x42f4a3
call fcn.0042764a
mov ecx, dword [edi]
mov edx, dword [esp + 0x20]
call fcn.0042a139
mov edx, esi
mov ecx, edi
call fcn.0042a1ef
mov ecx, dword [esp + 0x48]
mov edx, 0x96
push 0x48b558
call fcn.00429e28
mov dword [esp + 0x24], eax
pop ecx
push dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
mov ecx, ebx
push dword [esp + 0x90]
call fcn.00450a24
pop ecx
pop ecx
test eax, eax
je 0x450cf2
mov ecx, dword [ebx + 0x1c]
xor esi, esi
cmp ecx, 0x40
jl 0x450c47
mov ebx, 0x80000000
jmp 0x450c5c
mov eax, ecx
xor ebx, ebx
bts esi, eax
cmp eax, 0x20
cmovae ebx, esi
xor esi, ebx
cmp eax, 0x40
cmovae ebx, esi
cmp byte [esp + 0x13], 0
jne 0x450c88
mov edx, dword [esp + 0x30]
add ecx, ecx
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
push dword [edx]
push str.automatic_index_on__s__s_
push 0x11c
call fcn.004065b6
add esp, 0x10
mov byte [esp + 0x13], 1
mov edx, dword [esp + 0x24]
mov ecx, esi
mov eax, ebx
and ecx, edx
and eax, dword [esp + 0x1c]
or ecx, eax
jne 0x450cec
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
inc eax
mov ecx, dword [edi]
push eax
mov dword [esp + 0x4c], eax
call fcn.00451542
pop ecx
test eax, eax
jne 0x451193
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [eax + edx*4], ecx
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
or edx, esi
mov eax, dword [esp + 0x48]
or ecx, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], ecx
jmp 0x450cfa
mov ebx, dword [esp + 0x2c]
jmp 0x450cf6
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
add ebx, 0x30
mov dword [esp + 0x2c], ebx
cmp ebx, dword [esp + 0x3c]
jb 0x450b17
jmp 0x450d19
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
not ecx
movzx eax, ax
or ecx, 0x80000000
mov word [esi + 0x28], ax
not edx
mov word [esi + 0x18], ax
mov eax, dword [esp + 0x88]
mov dword [esi + 0x24], 0x4241
push 0x3f
and ecx, dword [eax + 0x3c]
and edx, dword [eax + 0x38]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x20], ecx
pop ecx
mov dword [esp + 0x24], edx
movzx ebx, word [eax + 0x2a]
mov dword [esp + 0x48], ebx
movzx eax, bx
cmp cx, bx
jge 0x450d6b
mov dword [esp + 0x2c], ecx
jmp 0x450d79
movsx ecx, bx
mov dword [esp + 0x2c], ecx
xor ecx, ecx
cmp cx, ax
jge 0x450dbf
mov ebp, dword [esp + 0x2c]
xor esi, esi
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, ebx
and ecx, edi
or edx, ecx
je 0x450daa
inc dword [esp + 0x18]
inc esi
cmp esi, ebp
jl 0x450d87
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x88]
xor edx, edx
cmp dword [eax + 0x3c], edx
jg 0x450de4
jl 0x450dd4
cmp dword [eax + 0x38], edx
jae 0x450de4
mov ecx, dword [esp + 0x18]
movsx eax, bx
add ecx, 0xffffffc1
add ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [edi]
lea eax, [esp + 0x5c]
push eax
push edx
mov edx, dword [esp + 0x20]
lea edx, [edx + 1]
call fcn.00435193
mov ebx, eax
mov dword [esp + 0x64], ebx
pop ecx
pop ecx
test ebx, ebx
je 0x451193
mov eax, dword [esp + 0x30]
xorps xmm0, xmm0
mov dword [esi + 0x20], ebx
xor esi, esi
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [ebx], str.auto_index
movlpd qword [esp + 0x40], xmm0
mov eax, dword [eax + 0x14]
mov dword [esp + 0x48], eax
cmp eax, dword [esp + 0x3c]
jae 0x450f05
mov eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x34], eax
push dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
mov ecx, ebp
push dword [esp + 0x90]
call fcn.00450a24
pop ecx
pop ecx
test eax, eax
je 0x450ef4
mov ecx, dword [ebp + 0x1c]
xor eax, eax
cmp ecx, 0x40
jl 0x450e83
mov edx, 0x80000000
jmp 0x450e96
xor edx, edx
bts eax, ecx
cmp ecx, 0x20
cmovae edx, eax
xor eax, edx
cmp ecx, 0x40
cmovae edx, eax
mov ecx, eax
mov dword [esp + 0x48], edx
and ecx, dword [esp + 0x34]
and edx, dword [esp + 0x38]
or ecx, edx
mov dword [esp + 0x40], eax
jne 0x450ef4
mov eax, dword [esp + 0x34]
or eax, dword [esp + 0x40]
mov edx, dword [ebp]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
or eax, dword [esp + 0x48]
mov dword [esp + 0x38], eax
mov ax, word [ebp + 0x1c]
mov word [ecx + esi*2], ax
mov ecx, edi
push dword [edx + 0x10]
mov edx, dword [edx + 0xc]
call fcn.00429944
pop ecx
test eax, eax
je 0x450ee8
mov ecx, dword [eax]
jmp 0x450eed
mov ecx, 0x480d0c
mov eax, dword [ebx + 0x20]
mov dword [eax + esi*4], ecx
inc esi
add ebp, 0x30
cmp ebp, dword [esp + 0x3c]
jb 0x450e4c
mov ebp, dword [esp + 0x14]
and dword [esp + 0x48], 0
cmp dword [esp + 0x2c], 0
jle 0x450f5b
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0x2c]
xor edx, edx
xor ecx, ecx
mov eax, ebp
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x24]
and ecx, dword [esp + 0x1c]
or edx, ecx
je 0x450f4e
mov eax, dword [ebx + 4]
mov word [eax + esi*2], bp
mov eax, dword [ebx + 0x20]
mov dword [eax + esi*4], 0x480d0c
inc esi
inc ebp
cmp ebp, edi
jl 0x450f19
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x88]
cmp dword [eax + 0x3c], 0
jg 0x450f98
jl 0x450f70
cmp dword [eax + 0x38], 0
jae 0x450f98
mov edx, dword [esp + 0x30]
push 0x3f
pop ecx
cmp cx, word [edx + 0x2a]
jge 0x450f98
mov eax, dword [ebx + 4]
mov word [eax + esi*2], cx
mov eax, dword [ebx + 0x20]
mov dword [eax + esi*4], 0x480d0c
inc esi
movsx eax, word [edx + 0x2a]
inc ecx
cmp ecx, eax
jl 0x450f7d
mov eax, dword [ebx + 4]
or ecx, 0xffffffff
push 0
mov word [eax + esi*2], cx
mov eax, dword [ebx + 0x20]
mov ecx, dword [esp + 0x98]
mov dword [eax + esi*4], 0x480d0c
mov eax, dword [edi + 0x28]
mov dword [ecx + 8], eax
inc dword [edi + 0x28]
mov eax, dword [esp + 0x1c]
inc eax
push eax
push dword [ecx + 8]
mov ecx, ebp
push 0x6f
pop edx
call fcn.0041b599
add esp, 0xc
mov edx, ebx
mov ecx, edi
call fcn.0041bce1
mov ecx, dword [esp + 0x94]
movzx eax, byte [ecx + 0x2c]
imul ebx, eax, 0x48
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov ebp, dword [eax + 4]
test byte [ebx + ebp + 0x30], 0x10
je 0x45103c
mov eax, dword [ebx + ebp + 0x24]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], eax
xor eax, eax
push eax
push eax
push eax
push 0x46
pop edx
call fcn.0041b599
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x58], eax
push dword [ebx + ebp + 0x20]
push 0
push dword [esp + 0x58]
push 0xd
pop edx
call fcn.0041b599
mov eax, dword [esp + 0x5c]
add esp, 0xc
push 0xe
jmp 0x451041
mov eax, dword [ecx + 4]
push 0x24
mov ecx, dword [esp + 0x18]
pop edx
push 0
push 0
push eax
call fcn.0041b599
mov dword [esp + 0x5c], eax
add esp, 0xc
mov eax, dword [esp + 0x20]
test eax, eax
je 0x451081
dec dword [edi + 0x38]
mov ecx, dword [edi + 0x38]
push 0x10
push ecx
push eax
push edi
mov dword [esp + 0x64], ecx
call fcn.0042dc32
mov eax, dword [esp + 0x38]
add esp, 0x10
or dword [eax + 0x24], 0x20000
mov ecx, edi
call fcn.0042ea7d
mov edx, dword [esp + 0x5c]
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push eax
mov dword [esp + 0x60], eax
mov ecx, edi
mov eax, dword [esp + 0xa8]
push dword [eax + 4]
call fcn.00438144
mov ecx, dword [esp + 0x2c]
mov edx, 0x84
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xac]
push 0
push dword [esp + 0x68]
push dword [eax + 8]
call fcn.0041b599
mov ecx, dword [esp + 0x38]
add esp, 0x24
push 0x10
pop edx
call fcn.0041ba67
cmp dword [esp + 0x20], 0
je 0x4510ed
mov edx, dword [esp + 0x54]
call fcn.0041b898
mov ecx, dword [esp + 0x14]
test byte [ebx + ebp + 0x30], 0x10
je 0x45113b
mov edx, dword [esp + 0x58]
add esi, dword [esp + 0x5c]
call fcn.0041bcfc
mov ecx, edi
mov dword [eax + 8], esi
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x50]
mov edx, esi
push dword [eax + 8]
push dword [ebx + ebp + 0x28]
push dword [eax + 4]
call fcn.004509b0
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edx, esi
call fcn.0041b616
and dword [ebx + ebp + 0x30], 0xffffffef
mov ebx, dword [esp + 0x14]
jmp 0x451160
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x14]
mov ecx, ebx
push 0
lea eax, [esi + 1]
push eax
mov eax, dword [esp + 0x9c]
push dword [eax + 4]
push 5
pop edx
call fcn.0041b599
add esp, 0xc
push 3
pop edx
mov ecx, ebx
call fcn.0041ba67
mov edx, esi
call fcn.0041bcfc
mov ecx, dword [ebx + 0x6c]
mov edx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov ecx, edi
call fcn.0042ea9c
mov edx, dword [esp + 0x60]
mov ecx, ebx
call fcn.0041bcfc
mov ecx, dword [ebx + 0x6c]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [edi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
jmp fcn.0042a1dc