Function at 0x4a2310
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 0x4a232f
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.0047bf10
cmp eax, 0xd
je 0x4a2362
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 0x4a2378
xor edx, edx
mov dword [esp + 0x14], edx
jmp 0x4a2384
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 0x4a2397
xor eax, eax
jmp 0x4a239a
mov eax, dword [ecx + 0x5c]
mov esi, dword [esp + 0x20]
mov edi, dword [eax + esi*4]
lea esi, [edi + edx]
push esi
call fcn.004ca8d0
cmp eax, 1
je 0x4a23bb
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 0x4a272a
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x78]
test eax, eax
jne 0x4a23e5
xor ecx, ecx
jmp 0x4a23e8
mov ecx, dword [edx + 0x70]
mov eax, 0x38e38e39
mul dword [edx + 0x78]
mov ebp, edx
shr ebp, 1
cmp bl, 0x71
jne 0x4a243b
mov edx, dword [esp + 0x38]
mov eax, 1
cmp edx, eax
je 0x4a28f6
xor eax, eax
test ebp, ebp
jle 0x4a2427
cmp byte [ecx], 3
jne 0x4a241a
cmp dword [ecx + 5], edi
je 0x4a2424
add ecx, 9
inc eax
cmp eax, ebp
jl 0x4a2410
jmp 0x4a2427
mov edi, dword [ecx + 1]
cmp eax, ebp
jne 0x4a28ab
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret 0xc
cmp bl, 0x6e
jne 0x4a24f8
mov edx, dword [esp + 0x38]
mov eax, 1
cmp edx, eax
je 0x4a28f6
xor edx, edx
mov dword [esp + 0x30], 0xffffffff
test ebp, ebp
mov dword [esp + 0x38], edx
jle 0x4a24da
cmp byte [ecx], 4
jne 0x4a2476
cmp edi, dword [ecx + 1]
jle 0x4a2476
cmp edi, dword [ecx + 5]
jl 0x4a2484
add ecx, 9
inc edx
cmp edx, ebp
jl 0x4a2467
mov dword [esp + 0x38], edx
jmp 0x4a24da
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 0x4a24e2
mov ebx, dword [esp + 0x14]
mov eax, esi
sub eax, ebx
cmp eax, edi
je 0x4a24cc
inc esi
mov dword [esp + 0x30], eax
mov ecx, esi
call fcn.004c7bc0
mov ecx, dword [esp + 0x10]
add esi, eax
push 0
push esi
call fcn.004ca1d0
mov edx, dword [esp + 0x38]
add esi, eax
cmp byte [esi], 0x6e
je 0x4a249f
cmp byte [esi], 0x6e
jne 0x4a24e2
mov edi, dword [esp + 0x30]
cmp edi, 0xffffffff
je 0x4a24e2
cmp edx, ebp
jne 0x4a28ab
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.0x4a2549.85
mov al, byte [esi - 1]
dec esi
cmp al, 0x6d
mov byte [esp + 0x1c], al
mov edx, 1
jne 0x4a2524
cmp edi, edx
jle 0x4a251f
mov al, byte [esi - 1]
dec esi
mov byte [esp + 0x1c], al
jmp 0x4a2524
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.0x4a2549.85
xor ebx, ebx
mov bl, byte [eax + 0x4a2918]
jmp dword [ebx*4 + 0x4a2900]
cmp dword [esp + 0x38], edx
jne 0x4a2562
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x1c
ret 0xc
xor eax, eax
test ebp, ebp
jle 0x4a2427
cmp byte [ecx], 2
jne 0x4a257a
cmp dword [ecx + 5], edi
je 0x4a2424
add ecx, 9
inc eax
cmp eax, ebp
jl 0x4a256c
jmp 0x4a2427
cmp dword [esp + 0x38], edx
jne 0x4a2599
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x1c
ret 0xc
xor ebx, ebx
test ebp, ebp
jle 0x4a25d9
cmp byte [ecx], 1
jne 0x4a25a9
cmp dword [ecx + 5], edi
je 0x4a25b3
add ecx, 9
inc ebx
cmp ebx, ebp
jl 0x4a259f
jmp 0x4a25d9
mov ecx, dword [ecx + 1]
mov edx, dword [esp + 0x14]
lea esi, [ecx + edx + 1]
mov ecx, esi
call fcn.004c7bc0
mov ecx, dword [esp + 0x10]
add esi, eax
push esi
call fcn.004ca510
mov edi, eax
mov eax, dword [esp + 0x14]
sub edi, eax
cmp ebx, ebp
jne 0x4a28ab
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 0x4a2609
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x1c
ret 0xc
xor ebx, ebx
test ebp, ebp
jle 0x4a2649
cmp byte [ecx], 4
jne 0x4a2619
cmp dword [ecx + 5], edi
je 0x4a2623
add ecx, 9
inc ebx
cmp ebx, ebp
jl 0x4a260f
jmp 0x4a2649
mov eax, dword [ecx + 1]
mov ecx, dword [esp + 0x14]
lea esi, [eax + ecx + 2]
mov ecx, esi
call fcn.004c7bc0
mov ecx, dword [esp + 0x10]
add esi, eax
push esi
call fcn.004ca510
mov edi, eax
mov eax, dword [esp + 0x14]
sub edi, eax
cmp ebx, ebp
jne 0x4a28ab
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret 0xc
cmp dword [esp + 0x38], edx
jne 0x4a266f
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x1c
ret 0xc
xor eax, eax
test ebp, ebp
jle 0x4a2427
cmp byte [ecx], 1
jne 0x4a268c
cmp edi, dword [ecx + 1]
jle 0x4a268c
cmp edi, dword [ecx + 5]
jl 0x4a2424
add ecx, 9
inc eax
cmp eax, ebp
jl 0x4a2679
jmp 0x4a2427
cmp dword [esp + 0x38], edx
jne 0x4a26ab
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 0x4a2716
cmp byte [ecx], 4
jne 0x4a26c4
cmp edi, dword [ecx + 1]
jle 0x4a26c4
cmp edi, dword [ecx + 5]
jl 0x4a26d2
add ecx, 9
inc eax
cmp eax, ebp
jl 0x4a26b5
mov dword [esp + 0x38], eax
jmp 0x4a2716
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 0x4a2716
mov ebx, dword [esp + 0x14]
mov edi, esi
sub edi, ebx
inc esi
mov ecx, esi
call fcn.004c7bc0
mov ecx, dword [esp + 0x10]
add esi, eax
push 0
push esi
call fcn.004ca1d0
add esi, eax
cmp byte [esi], 0x6e
je 0x4a26f1
mov eax, dword [esp + 0x38]
cmp eax, ebp
jne 0x4a28ab
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret 0xc
inc esi
mov ecx, esi
call fcn.004c7bc0
mov edx, dword [esp + 0x1c]
add esi, eax
and edx, 0xff
lea eax, [edx - 0x6b]
cmp eax, 5
ja case.0x4a274a.109
jmp dword [eax*4 + 0x4a2940]
mov ecx, dword [esp + 0x38]
mov eax, 1
cmp ecx, eax
je 0x4a28f6
mov ecx, dword [esp + 0x10]
push 0
push esi
call fcn.004ca1d0
add esi, eax
jmp 0x4a28a5
mov ecx, dword [esp + 0x38]
mov eax, 1
cmp ecx, eax
je 0x4a28f6
mov ecx, dword [esp + 0x10]
push 0
push esi
call fcn.004ca1d0
lea esi, [esi + eax + 1]
cmp byte [esi], 0x6d
jne 0x4a28a5
inc esi
jmp 0x4a28a5
mov ecx, dword [esp + 0x38]
mov eax, 1
cmp ecx, eax
je 0x4a28f6
mov ecx, dword [esp + 0x10]
push 0
push esi
call fcn.004ca1d0
add esi, eax
cmp byte [esi], 0x6d
jne 0x4a28a5
inc esi
jmp 0x4a28a5
mov ecx, dword [esp + 0x38]
mov eax, 1
cmp ecx, eax
je 0x4a28f6
mov ecx, dword [esp + 0x10]
push 0
push esi
call fcn.004ca1d0
add esi, eax
cmp byte [esi], 0x6f
jne 0x4a28a5
inc esi
jmp 0x4a28a5
xor eax, eax
cmp esi, ebp
jae 0x4a28f6
mov cl, byte [esi]
cmp cl, 0x50
jne 0x4a2843
mov eax, dword [esp + 0x38]
mov edi, 1
cmp eax, edi
jne 0x4a282b
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.004ca1d0
lea esi, [esi + eax + 1]
cmp byte [esi], 0x6d
jne 0x4a28a1
jmp 0x4a28a0
cmp cl, 0x53
jne 0x4a28f6
mov eax, dword [esp + 0x38]
mov edi, 1
cmp eax, edi
jne 0x4a2865
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 0x4a288a
inc esi
mov ecx, esi
call fcn.004c7bc0
mov ecx, dword [esp + 0x10]
add esi, eax
push 0
push esi
call fcn.004ca1d0
add esi, eax
cmp byte [esi], 0x6e
je 0x4a286d
mov ecx, dword [esp + 0x10]
inc esi
push 0
push esi
call fcn.004ca1d0
lea esi, [esi + eax + 1]
cmp byte [esi], 0x6d
jne 0x4a28a1
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 0x4a28ba
xor eax, eax
jmp 0x4a28bd
mov eax, dword [ecx + 0x5c]
mov ecx, dword [ecx + 0x64]
push edi
shr ecx, 2
push ecx
push eax
call fcn.00471960
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x20], eax
je 0x4a28f2
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.004a30b0
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0xc