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

Disassembly:
sub esp, 0x5c
push ebx
push ebp
push esi
xor eax, eax
mov ebx, ecx
push edi
push eax
push eax
mov edi, dword [ebx + 8]
mov ebp, edx
push eax
push 0x11
pop edx
mov ecx, edi
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x1f], al
mov dword [esp + 0x30], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x48], edi
call fcn.004293f8
mov ecx, dword [esp + 0x7c]
add esp, 0xc
imul edx, dword [ebp + 0xc], 0x30
xorps xmm0, xmm0
mov esi, dword [ebp + 0x14]
and dword [esp + 0x14], 0
mov dword [esp + 0x64], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x2c], eax
add edx, esi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x38], edx
movlpd qword [esp + 0x40], xmm0
mov ebp, dword [eax + 0x40]
mov dword [esp + 0x20], ebp
cmp esi, edx
jae 0x45e1c6
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
jmp 0x45e090
mov ecx, dword [esp + 0x70]
mov eax, dword [ebp]
or eax, dword [ebp + 4]
jne 0x45e0d5
test byte [esi + 0xa], 2
jne 0x45e0d5
mov ebp, dword [esi]
test byte [ebp + 4], 1
jne 0x45e0d5
push dword [ecx + 0x2c]
mov ecx, ebp
push 3
pop edx
call fcn.00438ac3
pop ecx
test eax, eax
je 0x45e0d5
mov ecx, dword [ebx]
mov edx, ebp
push 0
call fcn.00438129
mov edx, dword [esp + 0x28]
pop ecx
push eax
mov ecx, ebx
call fcn.00437a49
pop ecx
mov dword [esp + 0x24], eax
push dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov ecx, esi
push dword [esp + 0x78]
call fcn.0045dfa2
pop ecx
pop ecx
test eax, eax
je 0x45e1ab
mov edx, dword [esi + 0x1c]
xor ebp, ebp
cmp edx, 0x40
jl 0x45e106
mov dword [esp + 0x28], SysReAllocString
jmp 0x45e11f
mov eax, edx
xor ecx, ecx
bts ebp, eax
cmp eax, 0x20
cmovae ecx, ebp
xor ebp, ecx
cmp eax, 0x40
cmovae ecx, ebp
mov dword [esp + 0x28], ecx
cmp byte [esp + 0x13], 0
jne 0x45e14b
mov ecx, dword [esp + 0x2c]
add edx, edx
mov eax, dword [ecx + 4]
push dword [eax + edx*8]
push dword [ecx]
push str.automatic_index_on__s__s_
push 0x11c
call fcn.00414715
add esp, 0x10
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x28]
mov ecx, ebp
mov edx, dword [esp + 0x1c]
and ecx, edx
and eax, dword [esp + 0x18]
or ecx, eax
jne 0x45e1af
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
inc eax
mov ecx, dword [ebx]
push eax
mov dword [esp + 0x50], eax
call fcn.0045e9f6
pop ecx
test eax, eax
jne 0x45e62a
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
or edx, ebp
mov eax, dword [eax + 0x30]
mov dword [esp + 0x1c], edx
mov dword [eax + ecx*4], esi
mov ecx, dword [esp + 0x18]
or ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jmp 0x45e1b3
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
add esi, 0x30
cmp esi, dword [esp + 0x38]
jb 0x45e08c
jmp 0x45e1ce
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
not ecx
mov esi, dword [esp + 0x70]
or ecx, 0x80000000
movzx eax, ax
not edx
mov word [ebp + 0x28], ax
mov word [ebp + 0x18], ax
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x24], 0x4241
and ecx, dword [esi + 0x3c]
and edx, dword [esi + 0x38]
movzx ebp, word [eax + 0x2a]
push 0x3f
mov dword [esp + 0x1c], ecx
pop ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x4c], ebp
movzx eax, bp
cmp cx, bp
jge 0x45e21d
mov dword [esp + 0x28], ecx
jmp 0x45e22b
movsx ecx, bp
mov dword [esp + 0x28], ecx
xor ecx, ecx
cmp cx, ax
jge 0x45e271
mov edi, dword [esp + 0x28]
xor esi, esi
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
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, ebp
and ecx, ebx
or edx, ecx
je 0x45e25c
inc dword [esp + 0x14]
inc esi
cmp esi, edi
jl 0x45e239
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x70]
xor edx, edx
cmp dword [esi + 0x3c], edx
jg 0x45e28f
jl 0x45e27f
cmp dword [esi + 0x38], edx
jae 0x45e28f
mov ecx, dword [esp + 0x14]
movsx eax, bp
add ecx, 0xffffffc1
add ecx, eax
mov dword [esp + 0x14], ecx
mov ecx, dword [ebx]
lea eax, [esp + 0x60]
push eax
push edx
mov edx, dword [esp + 0x1c]
lea edx, [edx + 1]
call fcn.00442ac0
mov ebp, eax
mov dword [esp + 0x68], ebp
pop ecx
pop ecx
test ebp, ebp
je 0x45e62a
mov eax, dword [esp + 0x20]
xor esi, esi
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov dword [eax + 0x20], ebp
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [ebp], str.auto_index
mov eax, dword [eax + 0x14]
mov dword [esp + 0x4c], eax
cmp eax, dword [esp + 0x38]
jae 0x45e3ad
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
push dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov ecx, edi
push dword [esp + 0x78]
call fcn.0045dfa2
pop ecx
pop ecx
test eax, eax
je 0x45e39c
mov ecx, dword [edi + 0x1c]
xor eax, eax
cmp ecx, 0x40
jl 0x45e32a
mov edx, SysReAllocString
jmp 0x45e33d
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 + 0x40], eax
and ecx, dword [esp + 0x30]
mov eax, edx
and eax, dword [esp + 0x34]
or ecx, eax
mov dword [esp + 0x4c], edx
jne 0x45e39c
mov eax, dword [esp + 0x30]
or eax, dword [esp + 0x40]
mov edx, dword [edi]
mov ecx, dword [ebp + 4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
or eax, dword [esp + 0x4c]
mov dword [esp + 0x34], eax
mov ax, word [edi + 0x1c]
mov word [ecx + esi*2], ax
mov ecx, ebx
push dword [edx + 0x10]
mov edx, dword [edx + 0xc]
call fcn.00437427
pop ecx
test eax, eax
je 0x45e390
mov ecx, dword [eax]
jmp 0x45e395
mov ecx, 0x4ccc5c
mov eax, dword [ebp + 0x20]
mov dword [eax + esi*4], ecx
inc esi
add edi, 0x30
cmp edi, dword [esp + 0x38]
jb 0x45e2fc
mov edi, dword [esp + 0x3c]
and dword [esp + 0x4c], 0
cmp dword [esp + 0x28], 0
jle 0x45e403
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x28]
xor edx, edx
xor ecx, ecx
mov eax, edi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x1c]
and ecx, dword [esp + 0x18]
or edx, ecx
je 0x45e3f6
mov eax, dword [ebp + 4]
mov word [eax + esi*2], di
mov eax, dword [ebp + 0x20]
mov dword [eax + esi*4], 0x4ccc5c
inc esi
inc edi
cmp edi, ebx
jl 0x45e3c1
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x70]
cmp dword [eax + 0x3c], 0
jg 0x45e43d
jl 0x45e415
cmp dword [eax + 0x38], 0
jae 0x45e43d
mov edx, dword [esp + 0x2c]
push 0x3f
pop ecx
cmp cx, word [edx + 0x2a]
jge 0x45e43d
mov eax, dword [ebp + 4]
mov word [eax + esi*2], cx
mov eax, dword [ebp + 0x20]
mov dword [eax + esi*4], 0x4ccc5c
inc esi
movsx eax, word [edx + 0x2a]
inc ecx
cmp ecx, eax
jl 0x45e422
mov eax, dword [ebp + 4]
or ecx, 0xffffffff
push 0
mov word [eax + esi*2], cx
mov eax, dword [ebp + 0x20]
mov ecx, dword [esp + 0x80]
mov dword [eax + esi*4], 0x4ccc5c
mov eax, dword [ebx + 0x28]
mov dword [ecx + 8], eax
inc dword [ebx + 0x28]
mov eax, dword [esp + 0x18]
inc eax
push eax
push dword [ecx + 8]
mov ecx, edi
push 0x6f
pop edx
call fcn.004293f8
add esp, 0xc
mov edx, ebp
mov ecx, ebx
call fcn.00429b5a
mov ecx, dword [esp + 0x7c]
movzx eax, byte [ecx + 0x2c]
imul ebp, eax, 0x48
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x3c], eax
test byte [eax + ebp + 0x30], 0x10
je 0x45e4e2
mov eax, dword [eax + ebp + 0x24]
mov ecx, edi
mov dword [esp + 0x70], eax
xor eax, eax
push eax
push eax
push eax
push 0x46
pop edx
call fcn.004293f8
mov ecx, dword [esp + 0x48]
add esp, 0xc
mov dword [esp + 0x5c], eax
push dword [ecx + ebp + 0x20]
mov ecx, edi
push 0
push dword [esp + 0x78]
push 0xd
pop edx
call fcn.004293f8
mov eax, dword [esp + 0x7c]
add esp, 0xc
push 0xe
jmp 0x45e4e7
mov eax, dword [ecx + 4]
push 0x24
pop edx
push 0
push 0
push eax
mov ecx, edi
call fcn.004293f8
mov dword [esp + 0x7c], eax
add esp, 0xc
mov eax, dword [esp + 0x24]
test eax, eax
je 0x45e525
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
push 0x10
push ecx
push eax
push ebx
mov dword [esp + 0x68], ecx
call fcn.0043b6df
mov eax, dword [esp + 0x30]
add esp, 0x10
or dword [eax + 0x24], 0x20000
mov ecx, ebx
call fcn.0043c449
mov edx, dword [esp + 0x60]
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push eax
mov dword [esp + 0x68], eax
mov ecx, ebx
mov eax, dword [esp + 0x90]
push dword [eax + 4]
call fcn.00445a51
mov dword [esp + 0x78], eax
mov edx, 0x84
mov eax, dword [esp + 0x94]
mov ecx, edi
push 0
push dword [esp + 0x70]
push dword [eax + 8]
call fcn.004293f8
add esp, 0x24
mov ecx, edi
push 0x10
pop edx
call fcn.004298e0
cmp dword [esp + 0x24], 0
je 0x45e589
mov edx, dword [esp + 0x58]
call fcn.004296f7
mov eax, dword [esp + 0x3c]
mov ecx, edi
test byte [eax + ebp + 0x30], 0x10
je 0x45e5d8
mov edx, dword [esp + 0x5c]
add esi, dword [esp + 0x60]
call fcn.00429b75
mov edx, dword [esp + 0x70]
mov ecx, ebx
mov dword [eax + 8], esi
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x3c]
push dword [eax + 8]
push dword [esi + ebp + 0x28]
push dword [eax + 4]
call fcn.0045df2e
mov edx, dword [esp + 0x7c]
add esp, 0xc
mov ecx, edi
call fcn.00429475
and dword [esi + ebp + 0x30], 0xffffffef
jmp 0x45e5f5
mov eax, dword [esp + 0x70]
push 0
inc eax
push eax
mov eax, dword [esp + 0x84]
push dword [eax + 4]
push 5
pop edx
call fcn.004293f8
add esp, 0xc
push 3
pop edx
mov ecx, edi
call fcn.004298e0
mov edx, dword [esp + 0x70]
call fcn.00429b75
mov ecx, dword [edi + 0x6c]
mov edx, dword [esp + 0x54]
mov dword [eax + 8], ecx
mov ecx, ebx
call fcn.0043c468
mov edx, dword [esp + 0x64]
mov ecx, edi
call fcn.00429b75
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x24]
mov ecx, dword [ebx]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
jmp fcn.00437d14