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

Disassembly:
sub esp, 0x40
mov eax, dword [esp + 0x48]
push ebx
push ebp
push esi
xor ebx, ebx
push edi
push eax
mov esi, ecx
mov ecx, dword [esp + 0x58]
push ebx
push ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 0x7fffffff
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov byte [esp + 0x58], bl
call fcn.0049c9d0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
lea edi, [eax + ecx]
xor edx, edx
add eax, 4
mov dword [esp + 0x30], eax
mov dh, byte [edi + 3]
movzx ebp, byte [edi + 1]
mov dl, byte [edi + 2]
movzx edi, byte [edi]
shl edx, 8
or edx, ebp
shl edx, 8
or edi, edx
cmp edi, 0x30
ja case.default.0x45b10b
jmp dword [edi*4 + 0x45bb98]
mov ecx, esi
call fcn.00456db0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov ecx, esi
call fcn.00456dd0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov ecx, dword [esi + 0x38]
cmp ecx, ebx
je case.default.0x45b10b
call fcn.004c85c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov ecx, dword [esi + 0x38]
cmp ecx, ebx
je case.default.0x45b10b
call fcn.004c8660
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.0049cbe0
mov ecx, dword [esi + 0x38]
cmp ecx, ebx
mov edi, eax
je 0x45b180
push edi
call fcn.004c8120
push edi
call fcn.005dd350
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov ecx, esi
call fcn.00456e50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov ecx, esi
call fcn.00456e70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov ecx, dword [esi + 0x38]
cmp ecx, ebx
je case.default.0x45b10b
push ebx
call fcn.004b2110
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov ecx, esi
call fcn.00456df0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov ecx, esi
call fcn.00456e10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov ecx, esi
call fcn.00456e30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.00401630
lea ecx, [esp + 0x2c]
mov dword [esp + 0x58], eax
call fcn.0049cbe0
lea ecx, [esp + 0x2c]
mov edi, eax
call fcn.0049cbe0
lea ecx, [esp + 0x2c]
mov ebx, eax
call fcn.0049cbe0
push ebx
mov ebp, eax
mov eax, dword [esp + 0x5c]
push ebp
push edi
push eax
mov ecx, esi
call fcn.00459000
push edi
call fcn.005dd350
push ebp
call fcn.005dd350
push ebx
call fcn.005dd350
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.00401630
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ebp, eax
lea eax, [ecx + edx]
add ecx, 2
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax]
mov dword [esp + 0x58], ecx
lea ecx, [esp + 0x2c]
call fcn.0049cbe0
lea ecx, [esp + 0x2c]
mov edi, eax
call fcn.0049cbe0
mov edx, dword [esp + 0x58]
push edi
mov ebx, eax
push ebx
push edx
push ebp
mov ecx, esi
call fcn.0045afd0
push edi
call fcn.005dd350
push ebx
call fcn.005dd350
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov ecx, esi
call fcn.00457360
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.00401630
push eax
mov ecx, esi
call fcn.00459df0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
push ebx
mov ecx, esi
call fcn.004563b0
mov ecx, dword [esi + 0x38]
call fcn.004b1ff0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov eax, dword [esi + 0x78]
cmp eax, ebx
je case.default.0x45b10b
cmp byte [eax + 0x5ee], bl
je 0x45b32c
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + 0x20]
mov ecx, dword [ecx + 0x2c]
call fcn.0059b5d5
push 4
jmp 0x45b4ac
lea ecx, [esp + 0x2c]
call fcn.00401630
lea ecx, [esp + 0x2c]
call fcn.00401630
mov edi, eax
push edi
push 0x457d00
lea ecx, [esi + 0x64]
mov dword [esi + 0xc], ebx
call fcn.004407d0
cmp dword [esi + 0xc], ebx
je 0x45b3bb
lea ecx, [esp + 0x1c]
call fcn.00420450
push edi
lea ecx, [esp + 0x20]
call fcn.00420630
cmp dword [esi + 0x3c], ebx
mov ebp, dword [esp + 0x20]
je 0x45b3a8
lea edi, [esi + 0x10]
push 8
mov ecx, edi
call fcn.00420630
push 0x13
mov ecx, edi
call fcn.00420630
push 1
mov ecx, edi
call fcn.00420630
push 4
push ebp
mov ecx, edi
call fcn.00420810
mov ecx, esi
call fcn.00455e70
lea ecx, [esp + 0x1c]
call fcn.004204e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
cmp dword [esi + 0x110], ebx
je case.default.0x45b10b
cmp dword [esi + 0x3c], ebx
je case.default.0x45b10b
lea edi, [esi + 0x10]
push 4
mov ecx, edi
call fcn.00420630
push 0x13
mov ecx, edi
call fcn.00420630
push ebx
mov ecx, edi
call fcn.00420630
mov ecx, esi
call fcn.00455e70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.00401630
lea ecx, [esp + 0x2c]
call fcn.00401630
push eax
push 0x4563e0
lea ecx, [esi + 0x64]
call fcn.004407d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
push ebx
push 0x456400
lea ecx, [esi + 0x64]
call fcn.004407d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov eax, dword [esi + 0x78]
cmp eax, ebx
je case.default.0x45b10b
cmp byte [eax + 0x5ee], bl
je 0x45b461
mov edx, dword [esi + 0x38]
mov eax, dword [edx + 0x20]
mov ecx, dword [eax + 0x2c]
call fcn.0059b59a
push 2
jmp 0x45b4ac
mov eax, dword [esi + 0x78]
cmp eax, ebx
je case.default.0x45b10b
cmp byte [eax + 0x5ee], bl
je 0x45b486
mov ecx, dword [esi + 0x38]
mov edx, dword [ecx + 0x20]
mov ecx, dword [edx + 0x2c]
call fcn.0059b576
push ebx
jmp 0x45b4ac
mov eax, dword [esi + 0x78]
cmp eax, ebx
je case.default.0x45b10b
cmp byte [eax + 0x5ee], bl
je 0x45b4aa
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + 0x20]
mov ecx, dword [ecx + 0x2c]
call fcn.0059b5b7
push 1
mov ecx, dword [esi + 0x78]
call fcn.0049d860
mov ecx, dword [esi + 0x38]
call fcn.004b1ff0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
pop edi
mov dword [esi + 0x128], 4
mov dword [esi + 0x108], 1
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
pop edi
mov dword [esi + 0x4c], ebx
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.00401630
neg eax
sbb eax, eax
neg eax
mov ecx, esi
mov dword [esi + 0x20], eax
call fcn.00456180
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.00401630
lea ecx, [esp + 0x2c]
mov dword [esp + 0x58], eax
call fcn.0049cbe0
mov ebp, eax
mov eax, dword [esp + 0x30]
cmp eax, ebx
jl 0x45b54f
mov ecx, dword [esp + 0x34]
cmp ecx, 0xffffffff
je 0x45b544
add eax, 4
cmp eax, ecx
jg 0x45b54f
lea ecx, [esp + 0x2c]
call fcn.00401630
jmp 0x45b554
mov eax, 2
cmp edi, 0x22
jne 0x45b55c
or eax, 1
mov edx, dword [esp + 0x58]
push eax
push ebp
push edx
mov ecx, esi
call fcn.0045a2d0
push ebp
call fcn.005dd350
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.0049cbe0
lea ecx, [esp + 0x2c]
mov edi, eax
call fcn.0049cbe0
mov ebx, eax
push ebx
push edi
mov ecx, esi
call fcn.00459690
push edi
call fcn.005dd350
push ebx
call fcn.005dd350
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.0049cbe0
mov edi, eax
push edi
mov ecx, esi
call fcn.00458350
push edi
call fcn.005dd350
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.00401630
push eax
mov ecx, esi
call fcn.0045aa30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
add ecx, eax
add eax, 2
mov dword [esp + 0x30], eax
xor eax, eax
mov ah, byte [ecx + 1]
mov al, byte [ecx]
mov ecx, esi
push eax
call fcn.004570f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
add ecx, eax
xor edx, edx
add eax, 2
mov dword [esp + 0x30], eax
mov dh, byte [ecx + 1]
mov dl, byte [ecx]
mov ecx, esi
push edx
call fcn.00457070
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
add ecx, eax
add eax, 2
mov dword [esp + 0x30], eax
xor eax, eax
mov ah, byte [ecx + 1]
mov al, byte [ecx]
lea ecx, [esp + 0x2c]
mov ebp, eax
call fcn.0049cbe0
mov ecx, dword [esp + 0x2c]
mov edi, eax
mov eax, dword [esp + 0x30]
add ecx, eax
xor edx, edx
add eax, 2
mov dword [esp + 0x30], eax
mov dh, byte [ecx + 1]
push edi
mov dl, byte [ecx]
mov ecx, dword [esp + 0x30]
add ecx, eax
add eax, 2
mov dword [esp + 0x34], eax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x5c], edx
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx]
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x60], edx
call fcn.004bf3e0
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov eax, dword [eax]
push ecx
push edx
push eax
push ebp
mov ecx, esi
call fcn.00459920
push edi
mov dword [esp + 0x14], ebx
call fcn.005dd350
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
add ecx, eax
xor edx, edx
add eax, 2
mov dword [esp + 0x30], eax
mov dh, byte [ecx + 1]
mov dl, byte [ecx]
lea ecx, [esp + 0x2c]
mov ebp, edx
call fcn.0049cbe0
mov ecx, dword [esi + 0x38]
mov edi, eax
push edi
lea eax, [esp + 0x18]
push eax
call fcn.004bf3e0
mov ecx, dword [eax]
push ebx
push ebx
push ecx
push ebp
mov ecx, esi
call fcn.00459920
push edi
mov dword [esp + 0x18], ebx
call fcn.005dd350
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea edi, [esi + 0x10]
push 0x10
mov ecx, edi
call fcn.00420630
push 0x28
mov ecx, edi
call fcn.00420630
xor edx, edx
mov dx, word [esi + 0x128]
mov ecx, edi
push edx
call fcn.004205c0
mov eax, dword [esi + 0x78]
push eax
lea ecx, [esi + 0x90]
call fcn.004a0910
push eax
mov ecx, edi
call fcn.004205c0
mov eax, dword [esi + 0x38]
cmp eax, ebx
je 0x45b767
mov ecx, dword [esi + 0x78]
cmp ecx, ebx
je 0x45b76c
cmp byte [ecx + 0x5ee], bl
je 0x45b76c
or eax, 0xffffffff
jmp 0x45b772
mov eax, dword [eax + 0x7a8]
push eax
mov ecx, edi
call fcn.00420630
mov eax, dword [esi + 0x38]
cmp eax, ebx
je 0x45b790
mov ecx, dword [esi + 0x78]
cmp ecx, ebx
je 0x45b790
cmp byte [ecx + 0x5ee], bl
je 0x45b795
or eax, 0xffffffff
jmp 0x45b7a3
mov eax, dword [eax + 0x7a8]
dec eax
push ebx
push eax
call fcn.0049d5e0
push eax
mov ecx, edi
call fcn.00420630
mov eax, dword [esi + 0x38]
cmp eax, ebx
je 0x45b7c1
mov ecx, dword [esi + 0x78]
cmp ecx, ebx
je 0x45b7c1
cmp byte [ecx + 0x5ee], bl
je 0x45b7dd
or eax, 0xffffffff
push eax
mov ecx, edi
call fcn.00420630
mov ecx, esi
call fcn.00455e70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov eax, dword [eax + 0x7a8]
inc eax
push 1
push eax
call fcn.0049d5e0
push eax
mov ecx, edi
call fcn.00420630
mov ecx, esi
call fcn.00455e70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
add ecx, eax
add eax, 2
mov dword [esp + 0x30], eax
xor edx, edx
mov dh, byte [ecx + 1]
add eax, 2
mov dl, byte [ecx]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], eax
mov edi, edx
call fcn.00401630
lea ecx, [esp + 0x2c]
mov ebx, eax
call fcn.00401630
push eax
push ebx
push edi
mov ecx, esi
call fcn.00457180
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea edi, [eax + ecx]
xor ecx, ecx
add eax, 2
mov dword [esp + 0x30], eax
mov ch, byte [edi + 1]
add eax, 2
mov cl, byte [edi]
mov dword [esp + 0x30], eax
mov dword [esp + 0x58], ecx
lea ecx, [esp + 0x2c]
call fcn.00401630
lea ecx, [esp + 0x2c]
call fcn.00401630
mov edi, eax
cmp edi, ebx
jne 0x45b87e
xor ebp, ebp
jmp 0x45b889
push edi
call fcn.005dd330
add esp, 4
mov ebp, eax
push edi
push ebp
lea ecx, [esp + 0x34]
call fcn.0049e510
mov edx, dword [esp + 0x58]
push ebx
push ebx
push edx
mov ecx, esi
call fcn.00457180
cmp ebp, ebx
je case.default.0x45b10b
push ebp
call fcn.005dd350
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
add ecx, eax
add eax, 2
mov dword [esp + 0x30], eax
xor edx, edx
mov dh, byte [ecx + 1]
add eax, 2
mov dl, byte [ecx]
mov dword [esp + 0x30], eax
mov ecx, edx
push ecx
mov ecx, esi
call fcn.00458980
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
add ecx, eax
add eax, 2
mov dword [esp + 0x30], eax
xor eax, eax
mov ah, byte [ecx + 1]
mov al, byte [ecx]
mov ecx, esi
push eax
call fcn.0045a8c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.00401630
lea ecx, [esp + 0x2c]
mov edi, eax
call fcn.00401630
push eax
push edi
mov ecx, esi
call fcn.00458670
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.00401630
neg eax
sbb eax, eax
neg eax
mov ecx, esi
mov dword [esi + 0x12c], eax
call fcn.00456410
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.00401630
mov ecx, dword [esi + 0x38]
cmp ecx, ebx
je 0x45b9aa
cmp eax, ebx
je 0x45b9aa
add ecx, 0x5e0
call fcn.0045fd00
mov eax, dword [esi + 0x38]
mov edi, dword [eax + 0x584]
lea ecx, [eax + 0x5e0]
call fcn.00460060
mov ecx, dword [edi + 0x1c8]
mov edx, dword [edi + 4]
mov eax, dword [edi + 0x114]
push ecx
mov ecx, dword [esi + 0x38]
push edx
push eax
add ecx, 0x5e0
call fcn.00460a60
mov ecx, esi
call fcn.00456450
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.00401630
test eax, eax
jne 0x45b9e2
mov ecx, dword [esi + 0x38]
mov dword [ecx + 0x5e8], ebx
mov ecx, esi
call fcn.00456490
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov edx, dword [esi + 0x38]
mov ecx, esi
mov dword [edx + 0x5e8], 1
call fcn.00456490
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
pop edi
mov dword [esi + 0x130], 1
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.00401630
xor ecx, ecx
cmp eax, ebx
setne cl
push ecx
mov ecx, dword [esi + 0x38]
add ecx, 0x5e0
call fcn.0045fd40
mov ecx, esi
call fcn.004564d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.00401630
test eax, eax
jne 0x45ba6b
mov edx, dword [esi + 0x38]
mov ecx, esi
mov dword [edx + 0x5f4], ebx
call fcn.00456510
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov eax, dword [esi + 0x38]
mov ecx, esi
mov dword [eax + 0x5f4], 1
call fcn.00456510
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
lea ecx, [esp + 0x2c]
call fcn.00401630
test eax, eax
jne 0x45bab0
mov ecx, dword [esi + 0x38]
mov dword [ecx + 0x5ec], ebx
mov ecx, esi
call fcn.00456550
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov edx, dword [esi + 0x38]
mov ecx, esi
mov dword [edx + 0x5ec], 1
call fcn.00456550
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov esi, dword [esi + 0x38]
cmp dword [esi + 0x20], ebx
mov dword [esp + 0x18], esi
je case.default.0x45b10b
lea ecx, [esp + 0x2c]
call fcn.00401630
lea ecx, [esp + 0x2c]
mov dword [esp + 0x54], eax
call fcn.0049cbe0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x58], eax
call fcn.00401630
mov edi, eax
lea eax, [edi*8]
push eax
call fcn.005dd330
add esp, 4
xor esi, esi
cmp edi, ebx
mov ebp, eax
jbe 0x45bb3f
jmp 0x45bb20
lea ecx, [esp + 0x2c]
call fcn.0049cbe0
lea ecx, [esp + 0x2c]
mov dword [ebp + esi*8], eax
call fcn.0049cbe0
mov dword [ebp + esi*8 + 4], eax
inc esi
cmp esi, edi
jb 0x45bb20
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x54]
mov eax, dword [edx + 0x20]
push ebp
push edi
push esi
push ecx
mov ecx, dword [eax + 0x2c]
call fcn.00553400
cmp edi, ebx
jbe 0x45bb7c
mov edi, edi
mov ecx, dword [ebp + ebx*8]
push ecx
call fcn.005dd350
mov edx, dword [ebp + ebx*8 + 4]
push edx
call fcn.005dd350
add esp, 8
inc ebx
cmp ebx, edi
jb 0x45bb60
push ebp
call fcn.005dd350
push esi
call fcn.005dd350
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8