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

Disassembly:
sub esp, 0x64
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x80]
mov esi, dword [edi + 4]
mov eax, dword [edi + 8]
xor ebp, ebp
cmp esi, eax
jae 0x100463f2
mov edi, edi
push eax
lea eax, [esp + 0x50]
push esi
push eax
call fcn.10045850
mov edx, dword [esp + 0x60]
mov esi, eax
mov eax, dword [esp + 0x5c]
add esp, 0xc
mov dword [esp + 0x20], esi
mov ecx, eax
cmp eax, edx
jae 0x100463e7
push edx
push ecx
lea ecx, [esp + 0x68]
push ecx
call fcn.10045850
mov esi, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
push esi
mov dword [esp + 0x2c], eax
push edx
lea eax, [esp + 0x38]
push eax
call fcn.10045850
push esi
push eax
lea ecx, [esp + 0x58]
push ecx
call fcn.10045850
add esp, 0x24
cmp dword [esp + 0x34], 0
jne case.0x1004621a.7
movzx ecx, byte [esp + 0x31]
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x1004621a.7
movzx edx, byte [eax + 0x10046430]
jmp dword [edx*4 + 0x10046408]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
je 0x1004608c
xor eax, eax
mov edi, eax
jmp 0x1004615a
cmp byte [eax], 0
mov eax, str.TRUE
jne 0x1004609b
mov eax, str.FALSE
push eax
call dword [0x1007f00c]
add esp, 4
mov edi, eax
jmp 0x1004615a
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
call fcn.10045a20
mov edi, eax
jmp 0x1004615a
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
inc eax
cmp eax, ebx
jbe 0x100460de
xor eax, eax
mov edi, eax
jmp 0x1004615a
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
call fcn.100459c0
mov edi, eax
jmp 0x1004615a
push 0x1006c729
call dword [0x1007f00c]
add esp, 4
mov edi, eax
jmp 0x1004615a
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
push 1
push edx
call fcn.10045db0
add esp, 8
mov edi, eax
jmp 0x1004615a
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
call fcn.10045f40
mov edi, eax
jmp 0x1004615a
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
push eax
call fcn.10045e30
add esp, 4
mov edi, eax
jmp 0x1004615a
mov edx, dword [esp + 0x2c]
push edx
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x30]
call fcn.10045a70
xor ecx, ecx
add esp, 8
test eax, eax
setl cl
dec ecx
and ecx, dword [esp + 0x10]
mov edi, ecx
test edi, edi
je case.0x1004621a.7
test ebp, ebp
je 0x100461ba
movsx edx, byte [edi]
push edx
mov esi, edi
call fcn.1004ebf1
add esp, 4
test eax, eax
je 0x1004618a
movsx eax, byte [esi + 1]
inc esi
push eax
call fcn.1004ebf1
add esp, 4
test eax, eax
jne 0x10046178
cmp byte [esi], 0
jne 0x1004619b
sub esi, edi
cmp esi, 2
mov eax, 0x1006caa0
jle 0x100461a0
mov eax, 0x1006cb2c
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
cmp ebp, ebx
jae 0x100461b1
mov cl, byte [eax]
mov byte [esi + ebp], cl
inc eax
inc ebp
cmp byte [eax], 0
jne 0x100461a8
jmp 0x100461c2
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
cmp byte [edi], 0
mov eax, edi
je 0x100461e0
lea esp, [esp]
cmp ebp, ebx
jae 0x100461d9
mov dl, byte [eax]
mov byte [esi + ebp], dl
inc eax
inc ebp
cmp byte [eax], 0
jne 0x100461d0
push edi
call dword [0x1007f004]
add esp, 4
cmp ebp, ebx
jae 0x100461f2
mov byte [esi + ebp], 0x3d
inc ebp
cmp dword [esp + 0x48], 0
mov dword [esp + 0x14], ebp
jne case.0x1004621a.7
movzx ecx, byte [esp + 0x45]
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x1004621a.7
movzx eax, byte [eax + 0x10046478]
jmp dword [eax*4 + 0x10046450]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
sub ecx, eax
cmp ecx, 1
je 0x10046237
xor eax, eax
jmp 0x1004639f
cmp byte [eax], 0
mov eax, str.TRUE
jne 0x10046246
mov eax, str.FALSE
push eax
call dword [0x1007f00c]
add esp, 4
jmp 0x1004639f
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov edx, ebx
xor ecx, ecx
sub edx, eax
jne 0x1004626c
xor eax, eax
jmp 0x1004639f
cmp edx, 4
jbe 0x1004627b
call fcn.100459c0
jmp 0x1004639f
test byte [eax], 0x80
je 0x10046283
or ecx, 0xffffffff
movzx edx, byte [eax]
shl ecx, 8
inc eax
or ecx, edx
cmp eax, ebx
jb 0x10046283
mov eax, 0x1006c729
cmp ecx, 9
jbe 0x1004629f
mov eax, 0x100740d8
push ecx
push eax
push str._s_lx
call fcn.100270f0
add esp, 0xc
jmp 0x1004639f
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
inc eax
cmp eax, ebx
jbe 0x100462cf
xor eax, eax
jmp 0x1004639f
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
call fcn.100459c0
jmp 0x1004639f
push 0x1006c729
call dword [0x1007f00c]
add esp, 4
jmp 0x1004639f
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
xor edi, edi
cmp ebx, ebp
jae 0x10046351
push ebp
push ebx
push 0xffffffffffffffff
push edi
call fcn.10045c70
mov esi, eax
add esp, 0x10
test esi, esi
jl 0x10046351
lea eax, [esi + 1]
push eax
call dword [section..data]
mov edi, eax
add esp, 4
test edi, edi
je 0x10046351
push ebp
push ebx
push esi
push edi
call fcn.10045c70
add esp, 0x10
mov byte [esi + edi], 0
call fcn.10045960
mov esi, eax
test esi, esi
je 0x10046351
push edi
call dword [0x1007f004]
mov ecx, dword [esi + 4]
push ecx
call dword [0x1007f00c]
add esp, 8
mov edi, eax
mov ebp, dword [esp + 0x14]
mov eax, edi
jmp 0x1004639f
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
call fcn.10045f40
jmp 0x1004639f
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
push edx
call fcn.10045e30
add esp, 4
jmp 0x1004639f
mov eax, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x1c]
push edx
call fcn.10045a70
xor ecx, ecx
add esp, 8
test eax, eax
setl cl
dec ecx
and ecx, dword [esp + 0x18]
mov eax, ecx
test eax, eax
je case.0x1004621a.7
cmp byte [eax], 0
mov ecx, eax
je 0x100463c2
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
cmp ebp, edi
jae 0x100463bb
mov dl, byte [ecx]
mov byte [esi + ebp], dl
inc ecx
inc ebp
cmp byte [ecx], 0
jne 0x100463b2
push eax
call dword [0x1007f004]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x58]
add esp, 4
cmp ecx, edx
jb 0x10046017
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x80]
mov eax, dword [edi + 8]
cmp esi, eax
jb 0x10045ff0
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x64
ret
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x64
ret