Function at 0x450d8a
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.0041b8a1
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 0x451018
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
jmp 0x450e25
mov ecx, dword [esp + 0x88]
mov eax, dword [esi]
or eax, dword [esi + 4]
jne 0x450f17
test byte [ebx + 0xa], 2
jne 0x450f17
mov esi, dword [ebx]
test byte [esi + 4], 1
jne 0x450f17
push dword [ecx + 0x2c]
mov ecx, esi
push 3
pop edx
call fcn.0042b205
pop ecx
test eax, eax
je 0x450f17
mov ecx, dword [edi]
mov edx, esi
push 0
call fcn.0042a8d4
mov edx, dword [esp + 0x24]
mov esi, eax
pop ecx
mov ecx, dword [edi]
mov dword [esp + 0x48], ecx
test edx, edx
jne 0x450e81
mov dword [esp + 0x20], esi
jmp 0x450f17
test esi, esi
je 0x450f17
mov eax, dword [edx + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x450eb6
mov eax, dword [esi + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x450eb6
push esi
push edx
push 0x2c
pop edx
mov ecx, edi
call fcn.0042a15f
pop ecx
jmp 0x450f12
cmp byte [edi + 0xc0], 2
jb 0x450ef1
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], 0x42f795
mov dword [esp + 0x6c], 0x42f7aa
call fcn.00427952
mov ecx, dword [edi]
mov edx, dword [esp + 0x20]
call fcn.0042a441
mov edx, esi
mov ecx, edi
call fcn.0042a4f7
mov ecx, dword [esp + 0x48]
mov edx, 0x96
push 0x490c18
call fcn.0042a130
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.00450d2b
pop ecx
pop ecx
test eax, eax
je 0x450ff9
mov ecx, dword [ebx + 0x1c]
xor esi, esi
cmp ecx, 0x40
jl 0x450f4e
mov ebx, 0x80000000
jmp 0x450f63
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 0x450f8f
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.004068c1
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 0x450ff3
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.00451849
pop ecx
test eax, eax
jne 0x45149a
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 0x451001
mov ebx, dword [esp + 0x2c]
jmp 0x450ffd
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 0x450e1e
jmp 0x451020
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 0x451072
mov dword [esp + 0x2c], ecx
jmp 0x451080
movsx ecx, bx
mov dword [esp + 0x2c], ecx
xor ecx, ecx
cmp cx, ax
jge 0x4510c6
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 0x4510b1
inc dword [esp + 0x18]
inc esi
cmp esi, ebp
jl 0x45108e
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 0x4510eb
jl 0x4510db
cmp dword [eax + 0x38], edx
jae 0x4510eb
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.0043549a
mov ebx, eax
mov dword [esp + 0x64], ebx
pop ecx
pop ecx
test ebx, ebx
je 0x45149a
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 0x45120c
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.00450d2b
pop ecx
pop ecx
test eax, eax
je 0x4511fb
mov ecx, dword [ebp + 0x1c]
xor eax, eax
cmp ecx, 0x40
jl 0x45118a
mov edx, 0x80000000
jmp 0x45119d
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 0x4511fb
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.00429c4c
pop ecx
test eax, eax
je 0x4511ef
mov ecx, dword [eax]
jmp 0x4511f4
mov ecx, 0x485fac
mov eax, dword [ebx + 0x20]
mov dword [eax + esi*4], ecx
inc esi
add ebp, 0x30
cmp ebp, dword [esp + 0x3c]
jb 0x451153
mov ebp, dword [esp + 0x14]
and dword [esp + 0x48], 0
cmp dword [esp + 0x2c], 0
jle 0x451262
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 0x451255
mov eax, dword [ebx + 4]
mov word [eax + esi*2], bp
mov eax, dword [ebx + 0x20]
mov dword [eax + esi*4], 0x485fac
inc esi
inc ebp
cmp ebp, edi
jl 0x451220
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x88]
cmp dword [eax + 0x3c], 0
jg 0x45129f
jl 0x451277
cmp dword [eax + 0x38], 0
jae 0x45129f
mov edx, dword [esp + 0x30]
push 0x3f
pop ecx
cmp cx, word [edx + 0x2a]
jge 0x45129f
mov eax, dword [ebx + 4]
mov word [eax + esi*2], cx
mov eax, dword [ebx + 0x20]
mov dword [eax + esi*4], 0x485fac
inc esi
movsx eax, word [edx + 0x2a]
inc ecx
cmp ecx, eax
jl 0x451284
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], 0x485fac
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.0041b8a1
add esp, 0xc
mov edx, ebx
mov ecx, edi
call fcn.0041bfe9
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 0x451343
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.0041b8a1
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.0041b8a1
mov eax, dword [esp + 0x5c]
add esp, 0xc
push 0xe
jmp 0x451348
mov eax, dword [ecx + 4]
push 0x24
mov ecx, dword [esp + 0x18]
pop edx
push 0
push 0
push eax
call fcn.0041b8a1
mov dword [esp + 0x5c], eax
add esp, 0xc
mov eax, dword [esp + 0x20]
test eax, eax
je 0x451388
dec dword [edi + 0x38]
mov ecx, dword [edi + 0x38]
push 0x10
push ecx
push eax
push edi
mov dword [esp + 0x64], ecx
call fcn.0042df3a
mov eax, dword [esp + 0x38]
add esp, 0x10
or dword [eax + 0x24], 0x20000
mov ecx, edi
call fcn.0042ed85
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.0043844b
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.0041b8a1
mov ecx, dword [esp + 0x38]
add esp, 0x24
push 0x10
pop edx
call fcn.0041bd6f
cmp dword [esp + 0x20], 0
je 0x4513f4
mov edx, dword [esp + 0x54]
call fcn.0041bba0
mov ecx, dword [esp + 0x14]
test byte [ebx + ebp + 0x30], 0x10
je 0x451442
mov edx, dword [esp + 0x58]
add esi, dword [esp + 0x5c]
call fcn.0041c004
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.00450cb7
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edx, esi
call fcn.0041b91e
and dword [ebx + ebp + 0x30], 0xffffffef
mov ebx, dword [esp + 0x14]
jmp 0x451467
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.0041b8a1
add esp, 0xc
push 3
pop edx
mov ecx, ebx
call fcn.0041bd6f
mov edx, esi
call fcn.0041c004
mov ecx, dword [ebx + 0x6c]
mov edx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov ecx, edi
call fcn.0042eda4
mov edx, dword [esp + 0x60]
mov ecx, ebx
call fcn.0041c004
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.0042a4e4