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

Disassembly:
sub esp, 0x2c
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
push ebx
push ebp
push esi
mov ebx, dword [eax + 0x44]
mov dword [esp + 0x1c], ebx
lea eax, [ebx + 0x21]
shr eax, 0xc
lea ebp, [eax + 1]
lea eax, [eax + eax*4]
mov dword [esp + 0x18], ebp
lea eax, [ebx + eax*2]
lea esi, [eax*2 + 0x1c]
call fcn.00598d40
test eax, eax
jne 0x5a4c89
mov eax, 0x1000
mov ecx, ebx
cmp ebx, eax
cmova ecx, eax
xor eax, eax
add ecx, ecx
add ecx, esi
adc eax, eax
push eax
push ecx
call fcn.005660f0
mov ebx, eax
add esp, 8
mov dword [esp + 0xc], ebx
test ebx, ebx
je 0x5a4c89
push edi
push esi
push 0
push ebx
call fcn.0042d620
mov edi, dword [esp + 0x50]
lea eax, [esi + ebx]
mov ecx, dword [esp + 0x4c]
add esp, 0xc
mov dword [ebx + 4], ebp
mov dword [esp + 0x24], eax
lea edi, [edi + 0x22]
mov dword [ecx + 0x78], ebx
shr edi, 0xc
cmp edi, ebp
jge 0x5a4c73
lea eax, [esp + 0x34]
push eax
push edi
push ecx
call fcn.005a3eb0
mov ebx, dword [esp + 0x40]
add esp, 0xc
mov ebp, eax
test ebx, ebx
je 0x5a4b27
lea ecx, [ebx + 0x4000]
mov dword [esp + 0x30], ecx
test edi, edi
jne 0x5a4b16
add ebx, 0x88
xor esi, esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], esi
jmp 0x5a4bc6
mov esi, edi
shl esi, 0xc
sub esi, 0x22
mov dword [esp + 0x38], esi
jmp 0x5a4bc6
test ebp, ebp
jne 0x5a4bbe
mov ebp, 1
mov dword [esp + 0x14], ebp
mov edx, dword [esp + 0x10]
inc edi
mov ecx, dword [esp + 0x40]
test ebp, ebp
mov ebp, dword [esp + 0x1c]
je 0x5a4ad2
mov eax, ecx
mov dword [eax + 0x78], 0
cmp dword [0x645f38], 0
je 0x5a4c55
mov eax, dword [0x64de48]
test eax, eax
je 0x5a4b72
push eax
call dword [0x645f88]
add esp, 4
mov esi, dword [esp + 0x10]
push esi
call dword [0x645f64]
sub dword [0x64dde8], eax
dec dword [0x64de0c]
push esi
call dword [0x645f5c]
mov eax, dword [0x64de48]
add esp, 8
test eax, eax
je 0x5a4c5f
push eax
call dword [0x645f90]
mov ecx, dword [esp + 0x4c]
add esp, 4
mov eax, dword [esp + 0x14]
xor ebx, ebx
pop edi
pop esi
pop ebp
mov dword [ecx], ebx
pop ebx
add esp, 0x2c
ret
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x14], ebp
test ebp, ebp
jne 0x5a4b38
lea eax, [edi + 1]
mov dword [esp + 0x2c], eax
cmp eax, dword [esp + 0x1c]
jne 0x5a4be7
mov ecx, dword [esp + 0x20]
sub ecx, esi
jmp 0x5a4bec
sub ecx, ebx
sar ecx, 2
mov edx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea eax, [esi + eax*2]
inc esi
lea edx, [edx + eax*2]
mov dword [esp + 0x38], esi
add edx, 8
xor eax, eax
mov dword [esp + 0x28], edx
test ecx, ecx
jle 0x5a4c1b
mov word [edx + eax*2], ax
inc eax
cmp eax, ecx
jl 0x5a4c12
lea eax, [esp + 0x18]
push eax
push edx
push dword [esp + 0x2c]
push ebx
call fcn.005a4f40
mov edx, dword [esp + 0x20]
lea eax, [edi + edi*4]
mov edi, dword [esp + 0x3c]
lea ecx, [edx + eax*4]
mov eax, dword [esp + 0x28]
add esp, 0x10
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], ebx
jmp 0x5a4b3d
push edx
call dword [0x645f5c]
add esp, 4
mov ecx, dword [esp + 0x48]
xor ebx, ebx
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
mov dword [ecx], ebx
pop ebx
add esp, 0x2c
ret
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
mov dword [ecx], ebx
pop ebx
add esp, 0x2c
ret
pop esi
pop ebp
mov eax, 7
pop ebx
add esp, 0x2c
ret