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

Disassembly:
sub esp, 0x60
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x78]
mov eax, dword [edi + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x50]
push edx
push 0
push eax
call dword [ecx + 0x38]
mov eax, dword [edi + 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
mov esi, eax
test esi, esi
mov dword [esp + 0x1c], esi
mov ebp, 1
jne 0x4a42f9
mov dword [esp + 0x1c], ebp
mov esi, ebp
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
push 0
push ebp
push edx
mov edx, dword [esp + 0x80]
push esi
push eax
push ecx
mov ecx, dword [edx]
call fcn.00449280
xor ebx, ebx
test esi, esi
mov dword [esp + 0x34], ebx
jle 0x4a452e
jmp 0x4a4333
mov edi, dword [esp + 0x78]
mov ebp, 1
mov eax, dword [esp + 0x6c]
mov ecx, ebx
shr eax, cl
mov dword [esp + 0x18], ebp
cmp eax, ebp
jb 0x4a4347
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
mov ecx, ebx
shr eax, cl
mov dword [esp + 0x20], ebp
cmp eax, ebp
jb 0x4a435b
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x14]
mov ecx, dword [eax]
push 0
push 0
lea edx, [esp + 0x50]
push edx
push ebx
push eax
call dword [ecx + 0x40]
mov eax, dword [esp + 0x74]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x14]
mov ebp, dword [esp + 0x48]
mov edx, dword [eax]
mov edi, dword [esp + 0x4c]
push 0
push 0
lea ecx, [esp + 0x50]
push ecx
push ebx
push eax
mov dword [esp + 0x4c], ebp
call dword [edx + 0x40]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ecx
jle 0x4a44ff
mov eax, 4
sub eax, ebp
mov dword [esp + 0x3c], eax
jmp 0x4a43d0
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
lea ebx, [ebx]
lea eax, [eax + edi - 4]
mov dword [esp + 0x14], eax
lea edx, [edi + ebp]
mov eax, ecx
and eax, 0x800000ff
mov dword [esp + 0x40], edx
mov dword [esp + 0x10], edx
jns 0x4a43f3
dec eax
or eax, 0xffffff00
inc eax
cmp eax, 0xff
jne 0x4a43fe
mov dword [esp + 0x10], edi
test eax, eax
jne 0x4a4406
mov dword [esp + 0x14], edi
mov ebp, dword [esp + 0x20]
test ebp, ebp
jle 0x4a44de
lea eax, [edi - 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebp
lea ecx, [ecx]
movzx edi, byte [eax]
movzx edx, byte [eax + 4]
movzx ebx, byte [eax + 8]
mov eax, dword [esp + 0x10]
movzx ebp, byte [eax]
mov eax, dword [esp + 0x14]
movzx eax, byte [eax]
mov ecx, edi
sub ecx, ebx
sub eax, ebp
cmp edx, edi
jge 0x4a4455
cmp edx, ebx
jge 0x4a4455
sub edi, edx
mov ecx, edi
mov edi, edx
sub edi, ebx
cmp ecx, edi
jge 0x4a4455
mov ecx, edi
mov edi, dword [esp + 0x7c]
sub edi, 0x3c
je 0x4a4499
dec edi
je 0x4a4472
dec edi
jne 0x4a449f
mov byte [esi], cl
inc esi
mov byte [esi], al
inc esi
mov byte [esi], dl
inc esi
mov byte [esi], 0
jmp 0x4a449e
sar eax, 3
lea ebx, [edx*8]
xor al, bl
shl edx, 3
sar ecx, 3
and ecx, 0x1f
and eax, 0x1f
xor eax, edx
shl eax, 5
or eax, ecx
mov word [esi], ax
add esi, 2
jmp 0x4a449f
mov byte [esi], cl
inc esi
mov byte [esi], al
inc esi
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov ecx, 4
add edi, ecx
add edx, ecx
mov ecx, dword [esp + 0x28]
add eax, 4
dec ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], ecx
jne 0x4a4420
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x44]
mov eax, dword [esp + 0x18]
add esi, ebp
inc ecx
cmp ecx, eax
mov edi, edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ecx
jl 0x4a43c2
mov eax, dword [esp + 0x74]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x14]
mov edx, dword [eax]
push ebx
push eax
call dword [edx + 0x44]
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x44]
mov eax, dword [esp + 0x1c]
inc ebx
cmp ebx, eax
mov dword [esp + 0x34], ebx
jl 0x4a432a
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x60
ret