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

Disassembly:
sub esp, 0x10
push ebx
mov ebx, dword [esp + 0x20]
push ebp
mov ebp, dword [esp + 0x1c]
push edi
mov edi, dword [esp + 0x24]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
test ebx, ebx
je 0x4643e8
cmp dword [ebx + 0x88], 4
jne 0x4643cf
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret
test ebx, ebx
je 0x4643e8
cmp dword [ebx + 0x88], 5
jne 0x4643e8
pop edi
pop ebp
mov eax, 0x38
pop ebx
add esp, 0x10
ret
push esi
lea esi, [edi + 0x110]
nop
push 1
push 0
push edi
mov dword [esp + 0x24], esi
call fcn.00436740
add esp, 0xc
test edx, edx
jl 0x4648ba
jg 0x464413
test eax, eax
je 0x4648ba
mov eax, dword [ebx + 0x88]
lea ebp, [ebx + 0x88]
mov ecx, ebp
mov dword [esp + 0x14], ecx
cmp eax, 3
ja case.default.0x464436
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
jmp dword [eax*4 + 0x464940]
mov esi, dword [esp + 0x24]
push 0x5d18c4
push esi
push edi
call fcn.00435120
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], 0
push dword [eax]
call dword [0x65403c]
mov eax, dword [esp + 0x28]
push 1
push edi
push esi
mov dword [eax], 0
lea eax, [esp + 0x30]
push eax
call fcn.00463ef0
mov esi, eax
add esp, 0x20
test esi, esi
jne 0x4644d8
mov eax, dword [esp + 0x14]
push dword [eax + 0x1c]
push 0x5d16d8
push edi
call fcn.00435090
lea esi, [ebx + 0x60]
push esi
call fcn.0042a6a0
mov eax, dword [esp + 0x34]
xor ecx, ecx
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x74], 0
push esi
mov eax, dword [eax + 0xc]
cmp byte [eax + 0xc0], 1
setne cl
push ecx
push dword [esp + 0x2c]
call fcn.004735d0
add esp, 0x1c
mov esi, eax
test esi, esi
je 0x4644e6
lea ebp, [ebx + 0x88]
push 0x5d16fc
push edi
call fcn.00434fc0
add esp, 8
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4644f7
push eax
call fcn.00443950
add esp, 4
test esi, esi
jne 0x4648cf
mov eax, dword [ebp]
cmp eax, 1
je case.0x464436.1
sub eax, 1
jne 0x464512
mov byte [edi + 0x141], al
push 0x5d1630
push dword [esp + 0x28]
push edi
call fcn.00435120
lea eax, [ebx + 0x50]
mov dword [ebp], 1
push eax
mov dword [ebx + 0x78], 1
call fcn.0042a6a0
add esp, 0x10
mov ebp, dword [esp + 0x24]
push 0x5d18d4
push ebp
push edi
call fcn.00435120
lea esi, [ebx + 0x60]
push esi
call fcn.0042a690
push esi
mov dword [esp + 0x28], eax
call fcn.0042a680
mov ecx, dword [ebx + 0x70]
xor esi, esi
add esp, 0x14
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], esi
cmp eax, ecx
jbe 0x4645dc
mov esi, dword [esp + 0x14]
sub eax, dword [ebx + 0x70]
add esi, ecx
mov ecx, dword [ebp + 4]
lea ebp, [esp + 0x10]
push ebp
push eax
push esi
mov edx, dword [ecx]
push edi
push ecx
mov eax, dword [edx + 0x24]
call eax
mov ebp, dword [esp + 0x38]
add esp, 0x14
test eax, eax
jns 0x4645aa
mov esi, dword [esp + 0x10]
cmp esi, 0x51
jne 0x4645be
xor esi, esi
mov dword [esp + 0x10], esi
jmp 0x4645d8
add dword [ebx + 0x70], eax
push eax
push esi
push 2
push edi
call fcn.00434f20
mov esi, dword [esp + 0x20]
add esp, 0x10
test esi, esi
je 0x4645d8
push 0x5d16fc
push edi
call fcn.00434fc0
mov esi, dword [esp + 0x18]
add esp, 8
test esi, esi
jne 0x4645e5
mov eax, dword [esp + 0x18]
cmp dword [ebx + 0x70], eax
jb 0x4645e5
mov al, 1
jmp 0x4645e7
xor al, al
mov byte [esp + 0x2c], al
test esi, esi
jne 0x4648d3
test al, al
je 0x464934
mov eax, dword [ebx + 0x88]
cmp eax, 2
je 0x464630
sub eax, 1
jne 0x464611
mov byte [edi + 0x141], al
push 0x5d164c
push ebp
push edi
call fcn.00435120
add esp, 0xc
mov dword [ebx + 0x88], 2
jmp 0x464630
mov ebp, dword [esp + 0x24]
push 0x5d18e4
push ebp
push edi
call fcn.00435120
lea eax, [esp + 0x38]
push eax
push ebx
push edi
push ebp
call fcn.00464d00
push edi
mov esi, eax
call fcn.00445cd0
add esp, 0x20
test eax, eax
jne 0x4647d4
test esi, esi
jne 0x4648d3
cmp byte [esp + 0x2c], al
je 0x464934
mov eax, dword [ebx + 0x88]
cmp eax, 3
je 0x4646a3
sub eax, 1
jne 0x464684
mov byte [edi + 0x141], al
push 0x5d1668
push ebp
push edi
call fcn.00435120
add esp, 0xc
mov dword [ebx + 0x88], 3
jmp 0x4646a3
mov ebp, dword [esp + 0x24]
push 0x5d18f4
push ebp
push edi
call fcn.00435120
lea esi, [edi + 0x110]
add esp, 0xc
cmp dword [esi], 0
je 0x46470d
cmp byte [ebx + 0x8d], 0
jne 0x4647de
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x1e6], 0
jne 0x4647de
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x46470d
sub eax, 1
jne 0x4646f0
mov byte [edi + 0x141], al
push 0x5d1618
push ebp
push edi
call fcn.00435120
push ebx
push edi
push ebp
call fcn.00465150
add esp, 0x18
lea esi, [edi + 0x110]
lea ecx, [ebx + 0x88]
mov dword [esp + 0x14], ecx
jmp 0x46471d
mov ebp, dword [esp + 0x24]
cmp dword [esi], 0
jne 0x4643f0
mov eax, dword [edi + 0xd7c]
sub eax, 0xc8
cmp eax, 0x64
jb 0x464829
push 0
call dword [0x65403c]
push 2
push dword [esp + 0x24]
mov dword [esi], 0
call fcn.00436550
mov esi, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esi]
cmp eax, 5
je 0x4647b3
sub eax, 1
jne 0x46476c
mov byte [edi + 0x141], al
push 0x5d16bc
push ebp
push edi
call fcn.00435120
lea eax, [ebx + 0x50]
mov dword [esi], 5
push eax
call fcn.0042a6a0
lea eax, [ebx + 0x60]
push eax
call fcn.0042a6a0
push dword [edi + 0xd18]
mov dword [edi + 0xd78], 0
call dword [0x65403c]
add esp, 0x18
mov dword [edi + 0xd18], 0
push dword [edi + 0xd8]
push 0x5d193c
push edi
call fcn.00434fc0
add esp, 0xc
mov eax, 0x38
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x10
ret
mov esi, 0x2a
jmp 0x4648d3
push 0x5d1908
push ebp
push edi
call fcn.00435120
push 0x5d1924
push edi
call fcn.00435090
push edi
push ebp
call fcn.004342d0
push 0
push dword [esp + 0x3c]
call fcn.00436550
lea eax, [esp + 0x50]
push eax
push 0
push edi
push dword [ebp + 4]
call fcn.00434350
add esp, 0x34
mov esi, eax
test esi, esi
je 0x464934
jmp 0x4648d3
mov eax, dword [ecx]
cmp eax, 4
je 0x46489a
sub eax, 1
jne 0x46483b
mov byte [edi + 0x141], al
push 0x5d1684
push ebp
push edi
call fcn.00435120
push 0x5d16a4
push edi
call fcn.00435090
mov esi, dword [esp + 0x28]
lea eax, [ebx + 0x50]
mov word [edi + 0x98c], 1
push eax
mov dword [esi], 4
call fcn.0042a6a0
lea eax, [ebx + 0x60]
push eax
call fcn.0042a6a0
push dword [edi + 0xd18]
mov dword [edi + 0xd78], 0
call dword [0x65403c]
add esp, 0x20
mov dword [edi + 0xd18], 0
push dword [edi + 0xd7c]
push 0x5d1960
push edi
call fcn.00435090
add esp, 0xc
xor esi, esi
mov eax, esi
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x10
ret
push 0x5d189c
push edi
call fcn.00434fc0
add esp, 8
mov esi, 0x1c
jmp 0x4648d3
mov ebp, dword [esp + 0x24]
mov eax, dword [ebx + 0x88]
cmp eax, 5
je 0x464934
sub eax, 1
jne 0x4648e9
mov byte [edi + 0x141], al
push 0x5d16bc
push ebp
push edi
call fcn.00435120
lea eax, [ebx + 0x50]
mov dword [ebx + 0x88], 5
push eax
call fcn.0042a6a0
lea eax, [ebx + 0x60]
push eax
call fcn.0042a6a0
push dword [edi + 0xd18]
mov dword [edi + 0xd78], 0
call dword [0x65403c]
add esp, 0x18
mov dword [edi + 0xd18], 0
mov eax, esi
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x10
ret