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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a628e
sub esp, 0x5c
mov edx, dword [esp + 0x60]
cmp edx, 2
jne 0x4a5df8
mov edx, dword [esp + 0x68]
test edx, edx
jne 0x4a5dce
mov edx, dword [0x5953e8]
mov ebx, dword [0x5953ec]
mov ebp, dword [0x5953f0]
jmp 0x4a5dda
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x6c]
cmp ebx, 4
je 0x4a5def
cmp ebx, 0x10
jne 0x4a6243
xor eax, eax
jmp 0x4a6251
mov eax, edx
mov ecx, ebx
jmp 0x4a612d
cmp edx, 0x17
jne 0x4a608b
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4a5e48
mov ecx, dword [0x5953e8]
mov edx, dword [0x5953ec]
mov ebx, dword [0x5953f0]
mov ebp, dword [esp + 0x64]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov esi, dword [esp + 0x6c]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call fcn.004a2840
movzx eax, byte [esp + 0x18]
test al, al
je 0x4a5e5c
mov eax, dword [0x5916a8]
mov ecx, dword [0x5916ac]
mov edx, dword [0x5916b0]
jmp 0x4a5e68
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, 4
jne 0x4a5f31
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
movzx ebx, byte [eax]
movzx ebp, byte [eax + 1]
movzx esi, byte [eax + 2]
movzx edi, byte [eax + 3]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov edx, dword [0x5916b8]
mov ecx, dword [0x5916bc]
cmp ecx, 0x10
jl 0x4a5ebe
mov ecx, 0x10
mov dword [esp + 0x54], eax
lea eax, [esp + 0x34]
cmp edx, eax
je 0x4a5f04
mov byte [esp + 0x1f], bl
xchg ebp, eax
mov byte [esp + 0x1e], al
xchg ebp, eax
xchg esi, eax
mov byte [esp + 0x1d], al
xchg esi, eax
xchg edi, eax
mov byte [esp + 0x1c], al
xchg edi, eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045c880
movzx ebx, byte [esp + 0x1f]
movzx ebp, byte [esp + 0x1e]
movzx esi, byte [esp + 0x1d]
movzx edi, byte [esp + 0x1c]
mov byte [esp + 0x40], bl
xchg ebp, eax
mov byte [esp + 0x41], al
xchg ebp, eax
xchg esi, eax
mov byte [esp + 0x42], al
xchg esi, eax
xchg edi, eax
mov byte [esp + 0x43], al
xchg edi, eax
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x28]
lea eax, [esp + 0x34]
mov ecx, 0x10
jmp 0x4a5f44
cmp ecx, 0x10
jne 0x4a5f3c
mov ebx, eax
mov ebp, ecx
jmp 0x4a5f44
mov ebx, eax
mov ebp, ecx
xor eax, eax
xor ecx, ecx
test eax, eax
je 0x4a5ff5
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], ecx
lea eax, [0x595680]
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.004a1440
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
lea ecx, [0x4d6320]
mov dword [esp], ecx
call fcn.0040b170
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x70]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x24]
cmp ecx, 0x10
jl 0x4a5fa7
mov ecx, 0x10
lea edx, [eax + 8]
mov ebx, dword [esp + 0x44]
cmp ebx, edx
je 0x4a5fca
mov dword [esp + 0x4c], eax
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.0045c880
mov eax, dword [esp + 0x4c]
lea ecx, [0x5074c0]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
add esp, 0x5c
ret
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.004a1cf0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
lea edx, [0x4d22a0]
mov dword [esp], edx
call fcn.0040b170
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x10
lea ecx, [0x4e2a67]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x5bb250]
test ecx, ecx
jne 0x4a6050
mov ecx, dword [esp + 0x58]
mov dword [eax + 8], ecx
jmp 0x4a6060
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x58]
call fcn.0045bfa0
mov eax, ecx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea ecx, [0x5073bc]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
add esp, 0x5c
ret
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.004a1cf0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
lea edx, [0x4d22a0]
mov dword [esp], edx
call fcn.0040b170
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x16
lea ecx, [0x4e46e7]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x5bb250]
test ecx, ecx
jne 0x4a60f2
mov ecx, dword [esp + 0x58]
mov dword [eax + 8], ecx
jmp 0x4a6102
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x58]
call fcn.0045bfa0
mov eax, ecx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea ecx, [0x5073bc]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
add esp, 0x5c
ret
test edx, edx
je 0x4a61ad
mov dword [esp + 0x20], ebx
mov dword [esp + 0x48], edx
lea eax, [0x4d55a0]
mov dword [esp], eax
call fcn.0040b170
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x70]
mov dword [eax], ecx
mov ecx, dword [esp + 0x20]
cmp ecx, 4
jl 0x4a615f
mov ecx, 4
lea edx, [eax + 4]
mov ebx, dword [esp + 0x48]
cmp ebx, edx
je 0x4a6182
mov dword [esp + 0x50], eax
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.0045c880
mov eax, dword [esp + 0x50]
lea ecx, [0x5074ac]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
add esp, 0x5c
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004a1cf0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
lea edx, [0x4d22a0]
mov dword [esp], edx
call fcn.0040b170
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x10
lea ecx, [0x4e2a57]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x5bb250]
test ecx, ecx
jne 0x4a6208
mov ecx, dword [esp + 0x58]
mov dword [eax + 8], ecx
jmp 0x4a6218
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x58]
call fcn.0045bfa0
mov eax, ecx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea ecx, [0x5073bc]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
add esp, 0x5c
ret
mov eax, edx
mov ecx, ebx
xor edx, edx
xor ebx, ebx
jmp 0x4a612d
inc eax
cmp eax, 0xa
jge 0x4a6264
jae 0x4a6283
movzx esi, byte [edx + eax]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4a6250
jmp 0x4a6243
cmp byte [edx + 0xa], 0xff
jne 0x4a6243
cmp byte [edx + 0xb], 0xff
jne 0x4a6243
lea esi, [edx + 0xc]
mov eax, edx
mov ecx, ebx
mov edx, esi
mov ebx, 4
jmp 0x4a612d
mov ecx, 0xa
call fcn.0045c020
nop
call fcn.0045ab60
jmp fcn.004a5d90