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

Disassembly:
sub esp, 0x1c
mov eax, dword [ecx + 0x3c]
push ebx
push ebp
push esi
cmp eax, 1
push edi
mov dword [esp + 0x28], ecx
je 0x4a48ff
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret 0xc
push 0
lea eax, [esp + 0x28]
push 0
push eax
lea edx, [esp + 0x2c]
push 0
lea eax, [esp + 0x20]
push edx
mov edx, dword [ecx + 0x74]
push eax
push 0
push 0
push edx
call fcn.0047e4d0
cmp eax, 0xd
je 0x4a4932
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret 0xc
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc8]
test eax, eax
jne 0x4a4948
xor edx, edx
mov dword [esp + 0x14], edx
jmp 0x4a4954
mov eax, dword [ecx + 0xc0]
mov dword [esp + 0x14], eax
mov edx, eax
mov ebp, dword [ecx + 0xc8]
mov eax, dword [ecx + 0x64]
add ebp, edx
test eax, eax
jne 0x4a4967
xor eax, eax
jmp 0x4a496a
mov eax, dword [ecx + 0x5c]
mov esi, dword [esp + 0x20]
mov edi, dword [eax + esi*4]
lea esi, [edi + edx]
push esi
call fcn.004cced0
cmp eax, 1
je 0x4a498b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret 0xc
mov eax, dword [esp + 0x30]
mov bl, byte [esi]
cmp eax, 0xffffffff
mov dword [esp + 0x18], 1
mov byte [esp + 0x1c], bl
jne 0x4a4cfa
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x78]
test eax, eax
jne 0x4a49b5
xor ecx, ecx
jmp 0x4a49b8
mov ecx, dword [edx + 0x70]
mov eax, 0x38e38e39
mul dword [edx + 0x78]
mov ebp, edx
shr ebp, 1
cmp bl, 0x71
jne 0x4a4a0b
mov edx, dword [esp + 0x38]
mov eax, 1
cmp edx, eax
je 0x4a4ec6
xor eax, eax
test ebp, ebp
jle 0x4a49f7
cmp byte [ecx], 3
jne 0x4a49ea
cmp dword [ecx + 5], edi
je 0x4a49f4
add ecx, 9
inc eax
cmp eax, ebp
jl 0x4a49e0
jmp 0x4a49f7
mov edi, dword [ecx + 1]
cmp eax, ebp
jne 0x4a4e7b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret 0xc
cmp bl, 0x6e
jne 0x4a4ac8
mov edx, dword [esp + 0x38]
mov eax, 1
cmp edx, eax
je 0x4a4ec6
xor edx, edx
mov dword [esp + 0x30], 0xffffffff
test ebp, ebp
mov dword [esp + 0x38], edx
jle 0x4a4aaa
cmp byte [ecx], 4
jne 0x4a4a46
cmp edi, dword [ecx + 1]
jle 0x4a4a46
cmp edi, dword [ecx + 5]
jl 0x4a4a54
add ecx, 9
inc edx
cmp edx, ebp
jl 0x4a4a37
mov dword [esp + 0x38], edx
jmp 0x4a4aaa
mov ecx, dword [ecx + 1]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], edx
lea esi, [ecx + eax + 1]
mov al, byte [ecx + eax + 1]
cmp al, 0x6e
jne 0x4a4ab2
mov ebx, dword [esp + 0x14]
mov eax, esi
sub eax, ebx
cmp eax, edi
je 0x4a4a9c
inc esi
mov dword [esp + 0x30], eax
mov ecx, esi
call fcn.004ca150
mov ecx, dword [esp + 0x10]
add esi, eax
push 0
push esi
call fcn.004cc7d0
mov edx, dword [esp + 0x38]
add esi, eax
cmp byte [esi], 0x6e
je 0x4a4a6f
cmp byte [esi], 0x6e
jne 0x4a4ab2
mov edi, dword [esp + 0x30]
cmp edi, 0xffffffff
je 0x4a4ab2
cmp edx, ebp
jne 0x4a4e7b
pop edi
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0xc
test edi, edi
jle case.0x4a4b19.85
mov al, byte [esi - 1]
dec esi
cmp al, 0x6d
mov byte [esp + 0x1c], al
mov edx, 1
jne 0x4a4af4
cmp edi, edx
jle 0x4a4aef
mov al, byte [esi - 1]
dec esi
mov byte [esp + 0x1c], al
jmp 0x4a4af4
mov byte [esp + 0x1c], 0
mov eax, dword [esp + 0x14]
sub esi, eax
mov eax, dword [esp + 0x1c]
and eax, 0xff
mov edi, esi
add eax, 0xffffffb0
cmp eax, 0x24
ja case.0x4a4b19.85
xor ebx, ebx
mov bl, byte [eax + 0x4a4ee8]
jmp dword [ebx*4 + 0x4a4ed0]
cmp dword [esp + 0x38], edx
jne 0x4a4b32
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x1c
ret 0xc
xor eax, eax
test ebp, ebp
jle 0x4a49f7
cmp byte [ecx], 2
jne 0x4a4b4a
cmp dword [ecx + 5], edi
je 0x4a49f4
add ecx, 9
inc eax
cmp eax, ebp
jl 0x4a4b3c
jmp 0x4a49f7
cmp dword [esp + 0x38], edx
jne 0x4a4b69
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x1c
ret 0xc
xor ebx, ebx
test ebp, ebp
jle 0x4a4ba9
cmp byte [ecx], 1
jne 0x4a4b79
cmp dword [ecx + 5], edi
je 0x4a4b83
add ecx, 9
inc ebx
cmp ebx, ebp
jl 0x4a4b6f
jmp 0x4a4ba9
mov ecx, dword [ecx + 1]
mov edx, dword [esp + 0x14]
lea esi, [ecx + edx + 1]
mov ecx, esi
call fcn.004ca150
mov ecx, dword [esp + 0x10]
add esi, eax
push esi
call fcn.004ccb10
mov edi, eax
mov eax, dword [esp + 0x14]
sub edi, eax
cmp ebx, ebp
jne 0x4a4e7b
pop edi
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0xc
cmp dword [esp + 0x38], edx
jne 0x4a4bd9
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x1c
ret 0xc
xor ebx, ebx
test ebp, ebp
jle 0x4a4c19
cmp byte [ecx], 4
jne 0x4a4be9
cmp dword [ecx + 5], edi
je 0x4a4bf3
add ecx, 9
inc ebx
cmp ebx, ebp
jl 0x4a4bdf
jmp 0x4a4c19
mov eax, dword [ecx + 1]
mov ecx, dword [esp + 0x14]
lea esi, [eax + ecx + 2]
mov ecx, esi
call fcn.004ca150
mov ecx, dword [esp + 0x10]
add esi, eax
push esi
call fcn.004ccb10
mov edi, eax
mov eax, dword [esp + 0x14]
sub edi, eax
cmp ebx, ebp
jne 0x4a4e7b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret 0xc
cmp dword [esp + 0x38], edx
jne 0x4a4c3f
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x1c
ret 0xc
xor eax, eax
test ebp, ebp
jle 0x4a49f7
cmp byte [ecx], 1
jne 0x4a4c5c
cmp edi, dword [ecx + 1]
jle 0x4a4c5c
cmp edi, dword [ecx + 5]
jl 0x4a49f4
add ecx, 9
inc eax
cmp eax, ebp
jl 0x4a4c49
jmp 0x4a49f7
cmp dword [esp + 0x38], edx
jne 0x4a4c7b
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x1c
ret 0xc
xor eax, eax
test ebp, ebp
mov dword [esp + 0x38], eax
jle 0x4a4ce6
cmp byte [ecx], 4
jne 0x4a4c94
cmp edi, dword [ecx + 1]
jle 0x4a4c94
cmp edi, dword [ecx + 5]
jl 0x4a4ca2
add ecx, 9
inc eax
cmp eax, ebp
jl 0x4a4c85
mov dword [esp + 0x38], eax
jmp 0x4a4ce6
mov edx, dword [ecx + 1]
mov ecx, dword [esp + 0x14]
or edi, 0xffffffff
mov dword [esp + 0x38], eax
lea esi, [edx + ecx + 1]
mov cl, byte [edx + ecx + 1]
cmp cl, 0x6e
jne 0x4a4ce6
mov ebx, dword [esp + 0x14]
mov edi, esi
sub edi, ebx
inc esi
mov ecx, esi
call fcn.004ca150
mov ecx, dword [esp + 0x10]
add esi, eax
push 0
push esi
call fcn.004cc7d0
add esi, eax
cmp byte [esi], 0x6e
je 0x4a4cc1
mov eax, dword [esp + 0x38]
cmp eax, ebp
jne 0x4a4e7b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret 0xc
inc esi
mov ecx, esi
call fcn.004ca150
mov edx, dword [esp + 0x1c]
add esi, eax
and edx, 0xff
lea eax, [edx - 0x6b]
cmp eax, 5
ja case.0x4a4d1a.109
jmp dword [eax*4 + 0x4a4f10]
mov ecx, dword [esp + 0x38]
mov eax, 1
cmp ecx, eax
je 0x4a4ec6
mov ecx, dword [esp + 0x10]
push 0
push esi
call fcn.004cc7d0
add esi, eax
jmp 0x4a4e75
mov ecx, dword [esp + 0x38]
mov eax, 1
cmp ecx, eax
je 0x4a4ec6
mov ecx, dword [esp + 0x10]
push 0
push esi
call fcn.004cc7d0
lea esi, [esi + eax + 1]
cmp byte [esi], 0x6d
jne 0x4a4e75
inc esi
jmp 0x4a4e75
mov ecx, dword [esp + 0x38]
mov eax, 1
cmp ecx, eax
je 0x4a4ec6
mov ecx, dword [esp + 0x10]
push 0
push esi
call fcn.004cc7d0
add esi, eax
cmp byte [esi], 0x6d
jne 0x4a4e75
inc esi
jmp 0x4a4e75
mov ecx, dword [esp + 0x38]
mov eax, 1
cmp ecx, eax
je 0x4a4ec6
mov ecx, dword [esp + 0x10]
push 0
push esi
call fcn.004cc7d0
add esi, eax
cmp byte [esi], 0x6f
jne 0x4a4e75
inc esi
jmp 0x4a4e75
xor eax, eax
cmp esi, ebp
jae 0x4a4ec6
mov cl, byte [esi]
cmp cl, 0x50
jne 0x4a4e13
mov eax, dword [esp + 0x38]
mov edi, 1
cmp eax, edi
jne 0x4a4dfb
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0xc
mov ecx, dword [esp + 0x10]
inc esi
push 0
push esi
call fcn.004cc7d0
lea esi, [esi + eax + 1]
cmp byte [esi], 0x6d
jne 0x4a4e71
jmp 0x4a4e70
cmp cl, 0x53
jne 0x4a4ec6
mov eax, dword [esp + 0x38]
mov edi, 1
cmp eax, edi
jne 0x4a4e35
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0xc
mov al, byte [esi + 1]
inc esi
cmp al, 0x6e
jne 0x4a4e5a
inc esi
mov ecx, esi
call fcn.004ca150
mov ecx, dword [esp + 0x10]
add esi, eax
push 0
push esi
call fcn.004cc7d0
add esi, eax
cmp byte [esi], 0x6e
je 0x4a4e3d
mov ecx, dword [esp + 0x10]
inc esi
push 0
push esi
call fcn.004cc7d0
lea esi, [esi + eax + 1]
cmp byte [esi], 0x6d
jne 0x4a4e71
inc esi
mov dword [esp + 0x18], edi
sub esi, dword [esp + 0x14]
mov edi, esi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x64]
test eax, eax
jne 0x4a4e8a
xor eax, eax
jmp 0x4a4e8d
mov eax, dword [ecx + 0x5c]
mov ecx, dword [ecx + 0x64]
push edi
shr ecx, 2
push ecx
push eax
call fcn.00473f40
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x20], eax
je 0x4a4ec2
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
push 0
push 1
push edx
add eax, ecx
mov ecx, dword [esp + 0x34]
push 0
push eax
call fcn.004a5680
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0xc