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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x3c
mov ebp, ecx
mov eax, dword [0x567b10]
xor eax, esp
mov dword [esp + 0x38], eax
mov eax, dword [ecx + 0x1c8]
mov ecx, dword [ecx + 0x1cc]
mov ebx, dword [eax + ecx*4 - 4]
movzx eax, word [ebx + 0xc]
test ax, ax
je 0x4a13bf
cmp ax, 0x18
je 0x4a1453
cmp ax, 0x17
jne 0x4a185c
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x18]
lea edx, [eax + ecx]
test dl, 3
jne 0x4a136e
lea edx, [eax + 4]
shr edx, 2
cmp dword [ebp + 0x10], edx
ja 0x4a136e
lea ecx, [ebp + 8]
push 1
call fcn.004a3f30
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
lea esi, [edi*4 - 1]
and esi, ecx
mov dword [ebp + 0x14], esi
add esi, eax
mov eax, esi
shr eax, 2
add edi, 0x3fffffff
and edi, eax
mov eax, dword [edx + edi*4]
test eax, eax
jne 0x4a13ac
push 0x10
call fcn.00533f15
add esp, 4
mov ecx, dword [ebp + 0xc]
mov dword [ecx + edi*4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edi*4]
and esi, 3
mov dword [eax + esi*4], 0
add dword [ebp + 0x18], 1
jmp 0x4a185c
cmp dword [ebx + 0x14], 1
jne 0x4a185c
mov eax, dword [ebx + 0x10]
cmp byte [eax], 0x60
jne 0x4a185c
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x18]
lea edx, [eax + ecx]
test dl, 3
jne 0x4a13fe
lea edx, [eax + 4]
shr edx, 2
cmp dword [ebp + 0x10], edx
ja 0x4a13fe
lea ecx, [ebp + 8]
push 1
call fcn.004a3f30
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
lea esi, [edi*4 - 1]
and esi, ecx
mov dword [ebp + 0x14], esi
add esi, eax
mov eax, esi
shr eax, 2
add edi, 0x3fffffff
and edi, eax
mov eax, dword [edx + edi*4]
test eax, eax
jne 0x4a143c
push 0x10
call fcn.00533f15
add esp, 4
mov ecx, dword [ebp + 0xc]
mov dword [ecx + edi*4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edi*4]
and esi, 3
mov dword [eax + esi*4], 1
mov eax, dword [ebp + 0x18]
add eax, 1
mov dword [ebp + 0x18], eax
mov esi, ebx
jmp 0x4a148f
mov ecx, dword [ebp + 0x18]
cmp ecx, 1
je 0x4a185c
lea eax, [ecx - 1]
mov dword [ebp + 0x18], eax
mov edx, dword [ebp + 0x14]
add ecx, edx
add ecx, 0xfffffffe
mov edx, ecx
shr edx, 2
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
add edi, 0xffffffff
and edi, edx
and ecx, 3
mov edx, dword [esi + edi*4]
mov esi, ebx
cmp dword [edx + ecx*4], 1
jne 0x4a185c
mov edx, dword [ebp + 0x24]
mov ecx, dword [edx + 0x58]
mov ebx, dword [edx + 0x224]
mov edi, dword [esi + 0x14]
mov edx, ebx
mov dword [esp + 0x1c], edi
sub edx, edi
mov dword [esp], edx
mov edx, ebx
mov dword [esp + 0x20], ebx
cmp ebx, ecx
je 0x4a1583
mov edx, dword [esp + 0x20]
jmp 0x4a14ce
add edx, 1
add edx, 1
cmp edx, ecx
je 0x4a1570
movzx ebx, byte [edx]
cmp bl, 0x5c
je 0x4a14c0
cmp bl, 0x60
je 0x4a1574
lea edi, [edx + 1]
cmp edi, ecx
jae 0x4a14c3
cmp bl, 0x24
jne 0x4a14c3
cmp byte [edi], 0x7b
jne 0x4a14c3
mov ecx, dword [ebp + 0x14]
lea edx, [eax + ecx]
test dl, 3
mov dword [esp + 0x10], edi
mov ebx, esi
jne 0x4a151c
lea edx, [eax + 4]
shr edx, 2
cmp dword [ebp + 0x10], edx
ja 0x4a151c
lea ecx, [ebp + 8]
push 1
call fcn.004a3f30
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
lea esi, [edi*4 - 1]
and esi, ecx
mov dword [ebp + 0x14], esi
add esi, eax
mov eax, esi
shr eax, 2
add edi, 0x3fffffff
and edi, eax
mov eax, dword [edx + edi*4]
test eax, eax
jne 0x4a155a
push 0x10
call fcn.00533f15
add esp, 4
mov ecx, dword [ebp + 0xc]
mov dword [ecx + edi*4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edi*4]
and esi, 3
mov dword [eax + esi*4], 0
add dword [ebp + 0x18], 1
mov esi, ebx
mov edx, dword [esp + 0x10]
jmp 0x4a1583
mov edx, ecx
jmp 0x4a1583
add eax, 0xffffffff
mov dword [ebp + 0x18], eax
jne 0x4a1583
mov dword [ebp + 0x14], 0
mov dword [esp + 0x10], edx
mov ebx, edx
mov ecx, dword [esp]
sub ebx, ecx
xor edi, edi
mov byte [esi + 0x2c], 0x4b
mov word [esi + 0xc], 0xd
mov dword [esi + 0x10], ecx
mov eax, esi
mov esi, 0
inc ebx
mov dword [esp + 0x14], eax
mov dword [eax + 0x14], ebx
je 0x4a15d4
push ebx
push 0xa
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, dword [esp + 0xc]
add esp, 0xc
mov esi, ebx
test eax, eax
je 0x4a15d4
sub eax, ecx
mov esi, ebx
cmp eax, 0xffffffff
je 0x4a15d4
cmp ebx, eax
cmovb eax, ebx
mov esi, eax
mov dword [esp + 0x24], ebx
mov dword [esp + 4], ebp
mov eax, dword [ebp + 0x1bc]
mov dword [esp + 8], eax
mov ebp, ecx
mov ebx, 0
test esi, esi
je 0x4a168e
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x1c4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x54]
mov dword [esp + 0x28], eax
xor ebx, ebx
mov ebp, ecx
jmp 0x4a162e
lea eax, [edi + 1]
cmp esi, edi
cmovbe eax, esi
add ebp, eax
sub esi, eax
je 0x4a16a7
push esi
push 9
push ebp
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x4a168c
mov edi, eax
sub edi, ebp
cmp edi, 0xffffffff
je 0x4a168c
mov dword [esp + 0xc], ebx
cmp esi, edi
mov ebx, edi
cmovb ebx, esi
cmp dword [esp + 8], 0
je 0x4a1660
mov eax, ebx
jmp 0x4a166e
push ebx
push ebp
call fcn.0044ce70
add esp, 8
test eax, eax
js 0x4a1659
mov ebx, dword [esp + 0xc]
add ebx, eax
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x4a1620
mov eax, dword [esp + 0x28]
add eax, ebx
xor edx, edx
div ecx
add ebx, ecx
sub ebx, edx
jmp 0x4a1620
mov edi, esi
cmp dword [esp + 8], 0
je 0x4a16b0
mov esi, ebx
mov eax, edi
mov ebp, dword [esp + 4]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
jmp 0x4a16ce
xor edi, edi
cmp dword [esp + 8], 0
jne 0x4a1695
mov esi, ebx
push edi
push ebp
call fcn.0044ce70
add esp, 8
test eax, eax
mov ebp, dword [esp + 4]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
jns 0x4a16ce
mov eax, edi
add eax, esi
mov dword [ecx + 0x38], eax
mov edx, dword [esp + 0x10]
add ebx, edx
sub ebx, dword [esp + 0x20]
add ebx, 2
mov eax, edx
mov edi, dword [esp + 0x24]
nop word cs:[eax + eax]
cmp ebx, 1
je 0x4a1808
add ebx, 0xffffffff
cmp byte [eax], 0xa
lea eax, [eax - 1]
jne 0x4a16f0
or byte [ecx + 0x28], 2
mov eax, dword [ebp + 0x1bc]
mov dword [esp + 8], eax
cmp edi, ebx
cmovb ebx, edi
mov esi, edi
sub esi, ebx
cmp esi, edi
cmovae esi, edi
mov ecx, dword [esp]
add ecx, ebx
test esi, esi
je 0x4a17c4
mov eax, dword [ebp + 0x30]
mov eax, dword [eax + 0x1c4]
mov dword [esp + 0x18], eax
xor edi, edi
jmp 0x4a1752
lea eax, [ebx + 1]
cmp esi, ebx
cmovbe eax, esi
add ecx, eax
sub esi, eax
je 0x4a17e2
mov dword [esp + 0xc], edi
mov edi, ebp
push esi
push 9
push ecx
mov ebp, ecx
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x4a17d1
mov ebx, eax
sub ebx, ebp
cmp ebx, 0xffffffff
mov ecx, ebp
je 0x4a17d3
cmp esi, ebx
mov ebp, ebx
cmovb ebp, esi
cmp dword [esp + 8], 0
je 0x4a1787
mov eax, ebp
jmp 0x4a179d
push ebp
push ecx
mov dword [esp + 8], ecx
call fcn.0044ce70
mov ecx, dword [esp + 8]
add esp, 8
test eax, eax
js 0x4a1783
mov edi, dword [esp + 0xc]
add edi, eax
mov eax, dword [esp + 0x18]
test eax, eax
mov ebp, dword [esp + 4]
je 0x4a1740
mov ebp, eax
mov eax, edi
xor edx, edx
div ebp
add edi, ebp
mov ebp, dword [esp + 4]
sub edi, edx
jmp 0x4a1740
xor esi, esi
xor edi, edi
cmp dword [esp + 8], 0
jne 0x4a17f9
jmp 0x4a17eb
mov ecx, ebp
mov ebp, edi
mov edi, dword [esp + 0xc]
cmp dword [esp + 8], 0
jne 0x4a17f9
jmp 0x4a17eb
xor esi, esi
cmp dword [esp + 8], 0
jne 0x4a17f9
push esi
push ecx
call fcn.0044ce70
add esp, 8
test eax, eax
jns 0x4a17fb
mov eax, esi
add eax, edi
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x3c], eax
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 0x24]
cmp edx, dword [ecx + 0x58]
jae 0x4a1826
add edx, 1
lea eax, [esp + 0x2c]
push 1
push edx
push eax
call fcn.004ba760
mov eax, dword [esp + 0x2c]
jmp 0x4a1843
mov edi, dword [ebp + 0x28]
mov esi, dword [ebp + 0x2c]
mov byte [esp + 0x30], 0
lea eax, [esi + 1]
cmp eax, 2
jae 0x4a186f
mov dword [esp + 0x2c], 0
xor eax, eax
mov ecx, dword [ebp + 0x28]
lea edx, [esp + 0x30]
push eax
push edx
call fcn.004071d0
mov ecx, ebp
push dword [esp + 0x34]
call fcn.004a30d0
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00533ace
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret
test esi, esi
js 0x4a187a
lea ecx, [edi + 0x6c]
mov eax, esi
jmp 0x4a1897
mov eax, 0xfffffffe
sub eax, esi
mov ecx, eax
shr ecx, 5
mov edx, dword [edi + 0x8c]
mov ecx, dword [edx + ecx*4]
bt ecx, eax
jae 0x4a18b9
lea ecx, [edi + 0x78]
mov ecx, dword [ecx]
test ecx, ecx
je 0x4a1839
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ebx, dword [eax]
test ebx, ebx
js 0x4a1839
mov ecx, edi
push esi
call fcn.00452eb0
add eax, ebx
mov dword [esp + 0x2c], eax
jmp 0x4a1843
lea edx, [esp + 0x30]
mov ecx, edi
push edx
push eax
call fcn.0044fcd0
cmp byte [esp + 0x30], 0
jne 0x4a1839
jmp 0x4a18a3