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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x5c
mov eax, dword [0x63a1e8]
mov esi, ecx
add ecx, 4
xor eax, ebp
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x24]
mov dword [eax - 4], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
mov dword [eax + 8], ecx
mov ecx, dword [esi + 4]
test cl, 1
je 0x4aecaf
mov edx, dword [eax + 8]
movsd xmm0, qword [eax]
and ecx, 0xfffffffe
mov dword [ebp - 0x3c], edx
movsd qword [ebp - 0x44], xmm0
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x3c]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
mov dword [ecx + 8], edx
movsd xmm0, qword [ebp - 0x44]
movsd qword [ecx], xmm0
mov edi, dword [ebp + 8]
lea ebx, [ebp - 0x30]
mov ecx, ebx
push eax
call fcn.004f30ee
lea ecx, [ebp - 0x44]
push 0
push ebx
call fcn.004f4124
lea edx, [esi + 0x50]
lea ecx, [esi + 0x40]
lea eax, [esi + 0x5c]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x60], ecx
lea edx, [esi + 0x30]
lea ecx, [esi + 0x20]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], ecx
lea edx, [esi + 0x10]
lea ecx, [esi + 0x6c]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x68], ecx
mov eax, dword [edi]
xor ebx, ebx
cmp eax, dword [edi + 4]
jae 0x4aed07
movzx ebx, byte [eax]
test bl, bl
jle 0x4aed07
inc eax
mov dword [edi], eax
jmp 0x4aed36
mov ecx, edi
push ebx
call fcn.004f3f84
mov ebx, eax
dec eax
cmp eax, 0x7e
jbe 0x4aed36
test ebx, ebx
je 0x4af445
lea eax, [ebp - 0x44]
push eax
push ebx
push edi
call fcn.004f6670
add esp, 0xc
test al, al
jne 0x4aecf2
jmp 0x4af441
mov eax, ebx
shr eax, 3
dec eax
cmp eax, 0xa
ja case.default.0x4aed41
jmp dword [eax*4 + 0x5ccc54]
cmp ebx, 0xa
jne case.default.0x4aed41
or byte [esi + 8], 1
mov ecx, dword [ebp - 0x68]
push 0x63ce48
call fcn.004f6478
push eax
push edi
call fcn.004f751a
add esp, 8
jmp 0x4aed2d
cmp ebx, 0x12
jne case.default.0x4aed41
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x4af076
mov ecx, dword [esi + 0x14]
mov edx, dword [eax]
cmp ecx, edx
jge 0x4af0e9
lea edx, [ecx + 1]
mov dword [esi + 0x14], edx
mov ebx, dword [eax + ecx*4 + 4]
jmp 0x4af11d
cmp ebx, 0x1a
jne case.default.0x4aed41
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x4af07b
mov ecx, dword [esi + 0x24]
mov edx, dword [eax]
cmp ecx, edx
jge 0x4af162
lea edx, [ecx + 1]
mov dword [esi + 0x24], edx
mov ebx, dword [eax + ecx*4 + 4]
jmp 0x4af196
cmp ebx, 0x22
jne case.default.0x4aed41
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x4af083
mov ecx, dword [esi + 0x34]
mov edx, dword [eax]
cmp ecx, edx
jge 0x4af1db
lea edx, [ecx + 1]
mov dword [esi + 0x34], edx
mov ebx, dword [eax + ecx*4 + 4]
jmp 0x4af20f
cmp ebx, 0x2a
jne case.default.0x4aed41
or byte [esi + 8], 2
mov ebx, dword [esi + 0x70]
test ebx, ebx
jne 0x4aee19
push 0
call fcn.004b10c2
add esp, 4
mov ebx, eax
mov dword [esi + 0x70], eax
mov ecx, dword [edi]
cmp ecx, dword [edi + 4]
jae 0x4aef4a
movzx eax, byte [ecx]
test al, al
js 0x4aef4a
inc ecx
mov dword [edi], ecx
jmp 0x4aef59
cmp ebx, 0x30
jne case.default.0x4aed41
or byte [esi + 8], 4
xor eax, eax
mov ecx, dword [edi]
cmp ecx, dword [edi + 4]
jae 0x4aef7c
movzx eax, byte [ecx]
test al, al
js 0x4aef7c
mov dword [esi + 0x74], eax
inc dword [edi]
jmp 0x4aecf2
cmp ebx, 0x3a
jne case.default.0x4aed41
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x4af08b
mov ecx, dword [esi + 0x44]
mov edx, dword [eax]
cmp ecx, edx
jge 0x4af254
lea edx, [ecx + 1]
mov dword [esi + 0x44], edx
mov ebx, dword [eax + ecx*4 + 4]
jmp 0x4af288
cmp ebx, 0x40
jne case.default.0x4aed41
mov eax, dword [edi]
xor ebx, ebx
cmp eax, dword [edi + 4]
jae 0x4aef94
movzx ebx, byte [eax]
test bl, bl
js 0x4aef94
inc eax
mov dword [edi], eax
jmp 0x4aefa6
cmp bl, 0x4a
je 0x4aefda
cmp bl, 0x48
jne case.default.0x4aed41
mov ecx, dword [edi]
xor eax, eax
cmp ecx, dword [edi + 4]
jae 0x4af034
movzx eax, byte [ecx]
test al, al
js 0x4af034
inc ecx
mov dword [edi], ecx
jmp 0x4af044
cmp ebx, 0x50
jne case.default.0x4aed41
mov eax, dword [edi]
xor ebx, ebx
cmp eax, dword [edi + 4]
jae 0x4aefb7
movzx ebx, byte [eax]
test bl, bl
js 0x4aefb7
inc eax
mov dword [edi], eax
jmp 0x4aefc9
cmp ebx, 0x5a
jne case.default.0x4aed41
mov eax, dword [esi + 0x68]
test eax, eax
je 0x4af093
mov ecx, dword [esi + 0x60]
mov edx, dword [eax]
cmp ecx, edx
jge 0x4af2ca
lea edx, [ecx + 1]
mov dword [esi + 0x60], edx
mov ebx, dword [eax + ecx*4 + 4]
jmp 0x4af2fe
mov ecx, edi
call fcn.004f3aaa
test eax, eax
js 0x4af441
mov ecx, edi
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004f348e
cmp dword [ebp - 0x14], 0
js 0x4af441
mov ecx, ebx
push edi
call fcn.004ae830
jmp 0x4af33e
mov ecx, edi
push eax
call fcn.004f39ca
test edx, edx
mov dword [esi + 0x74], eax
jns 0x4aecf2
jmp 0x4af441
mov ecx, edi
push ebx
call fcn.004f39ca
test edx, edx
js 0x4af441
mov ebx, eax
cmp ebx, 3
ja 0x4aeff6
or byte [esi + 8], 8
mov dword [esi + 0x78], ebx
jmp 0x4aecf2
mov ecx, edi
push ebx
call fcn.004f39ca
test edx, edx
js 0x4af441
mov ebx, eax
cmp ebx, 3
ja 0x4af015
or byte [esi + 8], 0x10
mov dword [esi + 0x7c], ebx
jmp 0x4aecf2
push dword [ebp - 0x50]
lea eax, [ebp - 0x44]
push eax
push fcn.004ab720
push 9
push edi
call fcn.004f6b82
add esp, 0x14
jmp 0x4aed2d
cmp dword [ebp - 0x3c], 5
jl 0x4af355
mov eax, dword [ebp - 0x40]
mov byte [eax], 0x40
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
dec eax
mov dword [ebp - 0x3c], eax
jmp 0x4af362
cmp dword [ebp - 0x3c], 5
jl 0x4af393
mov eax, dword [ebp - 0x40]
mov byte [eax], 0x50
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
dec eax
mov dword [ebp - 0x3c], eax
jmp 0x4af3a0
mov ecx, edi
push eax
call fcn.004f39ca
test edx, edx
js 0x4af441
cmp eax, 0xb
mov dword [ebp - 0x48], eax
ja 0x4af09b
mov eax, dword [esi + 0x50]
cmp eax, dword [esi + 0x54]
jne 0x4af062
mov ebx, dword [ebp - 0x50]
inc eax
mov ecx, ebx
push eax
call fcn.004a74a4
mov eax, dword [ebx]
mov ecx, dword [esi + 0x58]
mov ebx, dword [ebp - 0x48]
lea edx, [eax + 1]
mov dword [esi + 0x50], edx
mov dword [ecx + eax*4], ebx
jmp 0x4aecf2
mov edx, dword [esi + 0x18]
jmp 0x4af0ee
mov edx, dword [esi + 0x28]
jmp 0x4af167
mov edx, dword [esi + 0x38]
jmp 0x4af1e0
mov edx, dword [esi + 0x48]
jmp 0x4af259
mov edx, dword [esi + 0x64]
jmp 0x4af2cf
cmp dword [ebp - 0x3c], 5
jl 0x4af3de
mov eax, dword [ebp - 0x40]
mov dl, 0x48
cmp ebx, 0x80
mov ecx, eax
jb 0x4af0d4
mov dl, 0x48
mov ecx, eax
mov dword [ebp - 0x4c], eax
mov eax, ebx
or dl, 0x80
shr ebx, 7
mov byte [ecx], dl
inc ecx
cmp eax, 0x3fff
mov edx, ebx
ja 0x4af0bb
mov eax, dword [ebp - 0x4c]
mov edx, ebx
mov byte [ecx], dl
sub ecx, eax
inc ecx
add dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x3c]
sub eax, ecx
mov dword [ebp - 0x3c], eax
jmp 0x4af3ea
cmp edx, dword [esi + 0x18]
jne 0x4af0fd
mov ecx, dword [ebp - 0x54]
inc edx
push edx
call fcn.004a7630
mov eax, dword [esi + 0x1c]
mov edx, dword [eax]
inc edx
mov dword [eax], edx
push dword [esi + 0x10]
call fcn.004b0f04
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x1c]
lea edx, [eax + 1]
mov dword [esi + 0x14], edx
mov dword [ecx + eax*4 + 4], ebx
mov ecx, dword [edi]
cmp ecx, dword [edi + 4]
jae 0x4af130
movzx eax, byte [ecx]
test al, al
js 0x4af130
inc ecx
mov dword [edi], ecx
jmp 0x4af13f
mov ecx, edi
call fcn.004f3aaa
test eax, eax
js 0x4af441
mov ecx, edi
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004f348e
cmp dword [ebp - 0x14], 0
js 0x4af441
mov ecx, ebx
push edi
call fcn.004ad580
jmp 0x4af33e
cmp edx, dword [esi + 0x28]
jne 0x4af176
mov ecx, dword [ebp - 0x58]
inc edx
push edx
call fcn.004a7630
mov eax, dword [esi + 0x2c]
mov edx, dword [eax]
inc edx
mov dword [eax], edx
push dword [esi + 0x20]
call fcn.004b0fc4
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x2c]
lea edx, [eax + 1]
mov dword [esi + 0x24], edx
mov dword [ecx + eax*4 + 4], ebx
mov ecx, dword [edi]
cmp ecx, dword [edi + 4]
jae 0x4af1a9
movzx eax, byte [ecx]
test al, al
js 0x4af1a9
inc ecx
mov dword [edi], ecx
jmp 0x4af1b8
mov ecx, edi
call fcn.004f3aaa
test eax, eax
js 0x4af441
mov ecx, edi
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004f348e
cmp dword [ebp - 0x14], 0
js 0x4af441
mov ecx, ebx
push edi
call fcn.004ac5d0
jmp 0x4af33e
cmp edx, dword [esi + 0x38]
jne 0x4af1ef
mov ecx, dword [ebp - 0x5c]
inc edx
push edx
call fcn.004a7630
mov eax, dword [esi + 0x3c]
mov edx, dword [eax]
inc edx
mov dword [eax], edx
push dword [esi + 0x30]
call fcn.004b0ff4
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x3c]
lea edx, [eax + 1]
mov dword [esi + 0x34], edx
mov dword [ecx + eax*4 + 4], ebx
mov ecx, dword [edi]
cmp ecx, dword [edi + 4]
jae 0x4af222
movzx eax, byte [ecx]
test al, al
js 0x4af222
inc ecx
mov dword [edi], ecx
jmp 0x4af231
mov ecx, edi
call fcn.004f3aaa
test eax, eax
js 0x4af441
mov ecx, edi
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004f348e
cmp dword [ebp - 0x14], 0
js 0x4af441
mov ecx, ebx
push edi
call fcn.004ae050
jmp 0x4af33e
cmp edx, dword [esi + 0x48]
jne 0x4af268
mov ecx, dword [ebp - 0x60]
inc edx
push edx
call fcn.004a7630
mov eax, dword [esi + 0x4c]
mov edx, dword [eax]
inc edx
mov dword [eax], edx
push dword [esi + 0x40]
call fcn.004b0f66
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x4c]
lea edx, [eax + 1]
mov dword [esi + 0x44], edx
mov dword [ecx + eax*4 + 4], ebx
mov ecx, dword [edi]
cmp ecx, dword [edi + 4]
jae 0x4af29b
movzx eax, byte [ecx]
test al, al
js 0x4af29b
inc ecx
mov dword [edi], ecx
jmp 0x4af2aa
mov ecx, edi
call fcn.004f3aaa
test eax, eax
js 0x4af441
mov ecx, edi
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004f348e
cmp dword [ebp - 0x14], 0
js 0x4af441
mov ecx, ebx
push edi
call fcn.004adad0
jmp 0x4af33e
cmp edx, dword [esi + 0x64]
jne 0x4af2de
mov ecx, dword [ebp - 0x64]
inc edx
push edx
call fcn.004a7630
mov eax, dword [esi + 0x68]
mov edx, dword [eax]
inc edx
mov dword [eax], edx
push dword [esi + 0x5c]
call fcn.004b1052
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x68]
lea edx, [eax + 1]
mov dword [esi + 0x60], edx
mov dword [ecx + eax*4 + 4], ebx
mov ecx, dword [edi]
cmp ecx, dword [edi + 4]
jae 0x4af311
movzx eax, byte [ecx]
test al, al
js 0x4af311
inc ecx
mov dword [edi], ecx
jmp 0x4af320
mov ecx, edi
call fcn.004f3aaa
test eax, eax
js 0x4af441
mov ecx, edi
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004f348e
cmp dword [ebp - 0x14], 0
js 0x4af441
mov ecx, ebx
push edi
call fcn.004ae360
test al, al
je 0x4af441
mov ecx, edi
push dword [ebp - 0x18]
call fcn.004f34b4
jmp 0x4aed2d
lea ecx, [ebp - 0x44]
push 0x40
call fcn.004f4326
mov eax, dword [ebp - 0x3c]
cmp eax, 5
jl 0x4af3d0
mov eax, dword [ebp - 0x40]
cmp ebx, 0x80
mov edx, ebx
jb 0x4af41f
mov ecx, eax
mov dword [ebp - 0x48], eax
mov eax, ebx
or dl, 0x80
shr ebx, 7
mov byte [ecx], dl
inc ecx
cmp eax, 0x3fff
mov edx, ebx
ja 0x4af37d
jmp 0x4af3cb
lea ecx, [ebp - 0x44]
push 0x50
call fcn.004f4326
mov eax, dword [ebp - 0x3c]
cmp eax, 5
jl 0x4af3d0
mov eax, dword [ebp - 0x40]
cmp ebx, 0x80
mov edx, ebx
jb 0x4af41f
mov ecx, eax
mov dword [ebp - 0x48], eax
mov eax, ebx
or dl, 0x80
shr ebx, 7
mov byte [ecx], dl
inc ecx
cmp eax, 0x3fff
mov edx, ebx
ja 0x4af3b7
mov eax, dword [ebp - 0x48]
jmp 0x4af41b
lea ecx, [ebp - 0x44]
push ebx
call fcn.004f4326
jmp 0x4aecf2
lea ecx, [ebp - 0x44]
push ebx
call fcn.004f4326
mov eax, dword [ebp - 0x3c]
cmp eax, 5
jl 0x4af431
mov ebx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
cmp ebx, 0x80
mov edx, ebx
jb 0x4af41f
mov ecx, eax
mov dword [ebp - 0x4c], eax
mov eax, ebx
or dl, 0x80
shr ebx, 7
mov byte [ecx], dl
inc ecx
cmp eax, 0x3fff
mov edx, ebx
ja 0x4af404
mov eax, dword [ebp - 0x4c]
mov edx, ebx
jmp 0x4af421
mov ecx, eax
mov byte [ecx], dl
sub ecx, eax
inc ecx
add dword [ebp - 0x40], ecx
sub dword [ebp - 0x3c], ecx
jmp 0x4aecf2
lea ecx, [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.004f4326
jmp 0x4aecf2
xor ebx, ebx
jmp 0x4af447
mov bl, 1
lea ecx, [ebp - 0x44]
call fcn.004f41ba
lea ecx, [ebp - 0x28]
call fcn.004abd3c
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005909f1
mov eax, ebx
add esp, 0x5c
pop esi
pop edi
pop ebx
pop ebp
ret 4