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

Disassembly:
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x4a43ce
mov edx, dword [eax + 0x18]
test edx, edx
je 0x4a43d0
ret
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
cmp dword [eax + 0x20], 0xffffffff
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
je 0x4a4537
mov eax, dword [esp + 0x78]
test eax, eax
mov dword [esp + 0x20], eax
je 0x4a4634
cmp esi, 4
mov eax, 0x1b
mov edi, 8
ja 0x4a441c
jmp 0x4a4950
add edi, edi
sub eax, 1
je 0x4a46c1
cmp esi, edi
ja 0x4a4411
lea eax, [edi*4]
mov edx, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 0x14], edx
call sub.msvcrt.dll_malloc
test eax, eax
mov edx, eax
mov dword [esp + 0x24], eax
je 0x4a46c1
test esi, esi
je 0x4a493a
xor eax, eax
nop
movzx ecx, byte [ebp + eax]
mov byte [edx + eax*4], 0
mov byte [edx + eax*4 + 1], 0
mov byte [edx + eax*4 + 2], 0
mov byte [edx + eax*4 + 3], cl
add eax, 1
cmp eax, esi
jne 0x4a4450
mov edx, dword [esp + 0x14]
test edx, edx
je 0x4a481b
mov dword [esp + 0x34], 0
mov dword [esp + 0x18], 0x48
xor ebx, ebx
mov dword [esp + 0x38], 0x2bc
mov dword [esp + 0x28], pe_nt_image_headers32
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], esi
mov edx, 0x24
xor esi, esi
sub edx, dword [esp + 0x18]
mov edi, 1
mov dword [esp + 0x1c], 0
jmp 0x4a44e4
sub eax, 0x61
movzx eax, al
mov ebp, edi
add edx, 0x24
imul ebp, eax
add dword [esp + 0x1c], ebp
mov ebp, 0x24
sub ebp, ecx
imul edi, ebp
cmp ecx, eax
ja 0x4a46d1
add esi, 0x24
cmp dword [esp + 0x18], esi
mov ecx, 1
ja 0x4a4501
test edx, edx
je 0x4a4501
cmp edx, 0x1a
mov ecx, 0x1a
cmovbe ecx, edx
cmp ebx, dword [esp + 0x14]
jae 0x4a4863
mov eax, dword [esp + 0x20]
add ebx, 1
movzx ebp, byte [eax + ebx - 1]
mov eax, ebp
movzx ebp, word [ebp + ebp + 0x4e3480]
test ebp, 8
jne 0x4a44c0
and ebp, 4
je 0x4a48e7
sub eax, 0x16
jmp 0x4a44c3
cmp esi, 1
jbe 0x4a492d
cmp byte [ebp], 0x5f
je 0x4a48a6
movzx ecx, byte [ebp]
cmp cl, 0x24
je 0x4a45ac
xor ebx, ebx
cmp cl, 0x2e
lea eax, [ebp + 1]
jne 0x4a4574
jmp 0x4a4650
movzx ecx, byte [eax]
mov edi, eax
add eax, 1
cmp cl, 0x24
je 0x4a457f
cmp cl, 0x2e
je 0x4a457f
add ebx, 1
cmp ebx, esi
jb 0x4a4562
lea edi, [ebp + ebx]
test edx, edx
jne 0x4a4592
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x4a46b3
sub esi, ebx
je 0x4a4641
mov ebp, edi
mov eax, dword [esp + 0x10]
movzx ecx, byte [ebp]
mov edx, dword [eax + 0x14]
cmp cl, 0x24
jne 0x4a4553
cmp esi, 2
jbe 0x4a4674
movzx eax, byte [ebp + 1]
cmp al, 0x43
je 0x4a48bb
lea edi, [esi - 1]
cmp edi, 2
je 0x4a466f
cmp al, 0x53
je 0x4a495f
cmp al, 0x42
je 0x4a498d
cmp al, 0x52
je 0x4a4973
cmp al, 0x4c
jne 0x4a49b5
movzx eax, byte [ebp + 2]
cmp al, 0x54
je 0x4a49ab
cmp al, 0x50
jne 0x4a4674
mov eax, 0x28
mov ebx, 2
lea ecx, [ebx + 1]
cmp byte [ebp + ecx], 0x24
jne 0x4a4674
add ebx, 2
test edx, edx
mov byte [esp + 0x4f], al
jne 0x4a462b
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x4a48f7
lea edi, [ebp + ebx]
jmp 0x4a4592
mov eax, dword [esp + 0x10]
mov ecx, esi
mov edx, ebp
call fcn.004a43a0
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp esi, 1
je 0x4a4693
cmp byte [ebp + 1], 0x2e
je 0x4a4877
test edx, edx
je 0x4a4697
mov edi, eax
mov ebx, 1
jmp 0x4a4592
mov esi, 3
test edx, edx
mov byte [esp + 0x4f], 0
jne 0x4a4641
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x18]
test edx, edx
jne 0x4a4641
mov ecx, esi
mov edx, ebp
call fcn.004a43a0
jmp 0x4a4641
test edx, edx
jne 0x4a4641
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x4a48cf
lea edi, [ebp + 1]
mov ebx, 1
jmp 0x4a4592
mov ecx, ebx
mov edx, ebp
call fcn.004a43a0
jmp 0x4a4592
mov eax, dword [esp + 0x10]
mov dword [eax + 0x14], 1
jmp 0x4a4641
mov eax, dword [esp + 0x2c]
xor edx, edx
lea ebp, [eax + 1]
mov eax, dword [esp + 0x34]
add eax, dword [esp + 0x1c]
div ebp
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
cmp eax, ebp
mov edi, edx
jae 0x4a470b
add eax, eax
test eax, 0xc0000000
mov dword [esp + 0x30], eax
jne 0x4a48e7
cmp ebp, eax
ja 0x4a48e7
mov eax, dword [esp + 0x30]
shl eax, 2
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call sub.msvcrt.dll_realloc
test eax, eax
mov dword [esp + 0x3c], eax
je 0x4a48e7
mov eax, dword [esp + 0x3c]
lea esi, [eax + edi*4]
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], esi
sub eax, edi
shl eax, 2
mov dword [esp + 8], eax
lea eax, [esi + 4]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov eax, dword [esp + 0x28]
cmp eax, 0xffff
jbe 0x4a490e
shr eax, 0x12
mov edx, 0xffffff80
or eax, 0xfffffff0
mov byte [esi], al
mov eax, dword [esp + 0x28]
shr eax, 0xc
and eax, 0x3f
or eax, edx
mov edx, 0xffffff80
mov byte [esi + 1], al
mov ecx, dword [esp + 0x28]
mov eax, ecx
shr eax, 6
and eax, 0x3f
or eax, edx
mov byte [esi + 2], al
mov eax, ecx
and eax, 0x3f
or eax, 0xffffff80
cmp dword [esp + 0x14], ebx
mov byte [esi + 3], al
je 0x4a49cd
lea eax, [edi + 1]
xor edx, edx
xor esi, esi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1c]
div dword [esp + 0x38]
xor edx, edx
mov ecx, eax
div ebp
add ecx, eax
cmp ecx, 0x1c7
jbe 0x4a47e8
mov edi, 0xd41d41d5
nop
mov eax, ecx
add esi, 0x24
mul edi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
cmp ecx, 0x1c7
ja 0x4a47d0
lea eax, [ecx + ecx*8]
xor edx, edx
add ecx, 0x26
mov dword [esp + 0x38], 2
mov dword [esp + 0x2c], ebp
shl eax, 2
div ecx
add eax, esi
cmp dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
ja 0x4a44a4
mov esi, ebp
lea eax, [esi*4]
test eax, eax
mov ecx, eax
mov dword [esp + 0x14], eax
je 0x4a4852
mov edx, dword [esp + 0x24]
xor ebx, ebx
mov eax, edx
add ecx, edx
movzx edx, byte [eax]
test dl, dl
je 0x4a4847
mov edi, dword [esp + 0x24]
mov byte [edi + ebx], dl
add ebx, 1
add eax, 1
cmp ecx, eax
jne 0x4a4836
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
call fcn.004a43a0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x70], eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004a9de0
test edx, edx
jne 0x4a4899
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x18]
test edi, edi
jne 0x4a4899
mov eax, dword [esp + 0x10]
mov ecx, 2
mov edx, 0x4e2fe0
call fcn.004a43a0
lea edi, [ebp + 2]
mov ebx, 2
jmp 0x4a4592
cmp byte [ebp + 1], 0x24
jne 0x4a454a
add ebp, 1
sub esi, 1
jmp 0x4a454a
mov ecx, 2
mov ebx, 1
mov eax, 0x2c
jmp 0x4a460a
mov eax, dword [esp + 0x10]
mov ecx, 1
mov edx, 0x4e2fe3
call fcn.004a43a0
jmp 0x4a46a6
mov eax, dword [esp + 0x10]
mov dword [eax + 0x14], 1
jmp 0x4a4863
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x4f]
mov ecx, 1
call fcn.004a43a0
jmp 0x4a462b
cmp dword [esp + 0x28], 0x7ff
mov byte [esi], 0
ja 0x4a49dc
mov byte [esi + 1], 0
mov edx, 0xffffffc0
jmp 0x4a4781
test esi, esi
jne 0x4a454a
jmp 0x4a4641
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4a447a
jmp 0x4a4852
mov eax, 0x10
mov edi, 4
jmp 0x4a4427
cmp byte [ebp + 2], 0x50
jne 0x4a4674
mov eax, 0x40
jmp 0x4a4602
movzx eax, byte [ebp + 2]
cmp al, 0x46
je 0x4a49a1
cmp al, 0x50
jne 0x4a4674
mov eax, 0x29
jmp 0x4a4602
cmp byte [ebp + 2], 0x50
jne 0x4a4674
mov eax, 0x2a
jmp 0x4a4602
mov eax, 0x26
jmp 0x4a4602
mov eax, 0x3c
jmp 0x4a4602
cmp al, 0x47
jne 0x4a49e6
cmp byte [ebp + 2], 0x54
jne 0x4a4674
mov eax, 0x3e
jmp 0x4a4602
mov eax, dword [esp + 0x3c]
mov esi, ebp
mov dword [esp + 0x24], eax
jmp 0x4a481b
mov edx, 0xffffffe0
jmp 0x4a476d
cmp al, 0x75
jne 0x4a4674
cmp edi, 3
je 0x4a4674
movsx ecx, byte [ebp + 2]
lea ebx, [ecx - 0x30]
mov eax, ecx
cmp bl, 9
ja 0x4a4a5e
lea ebx, [ecx - 0x30]
test ebx, ebx
js 0x4a4674
movsx eax, byte [ebp + 3]
mov ecx, eax
mov dword [esp + 0x14], eax
lea eax, [eax - 0x30]
cmp al, 9
ja 0x4a4a70
mov eax, dword [esp + 0x14]
sub eax, 0x30
mov ecx, eax
shr ecx, 0x1f
test cl, cl
jne 0x4a4674
cmp ebx, 7
jg 0x4a4674
shl ebx, 4
or eax, ebx
cmp al, 0x1f
jle 0x4a4674
cmp edi, 3
jbe 0x4a4674
mov ebx, 3
jmp 0x4a4607
sub eax, 0x61
cmp al, 5
ja 0x4a4674
lea ebx, [ecx - 0x57]
jmp 0x4a4a08
sub ecx, 0x61
cmp cl, 5
ja 0x4a4674
mov eax, dword [esp + 0x14]
sub eax, 0x57
jmp 0x4a4a28