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

Disassembly:
mov ecx, dword [0x93ee7c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a6fff
sub esp, 0x58
mov ebx, dword [esp + 0x68]
test ebx, ebx
jge 0x4a6ce3
mov ebp, dword [esp + 0x60]
inc ebp
mov esi, dword [esp + 0x64]
cmp esi, ebp
jb 0x4a6ca2
mov eax, dword [esp + 0x5c]
jmp 0x4a6cda
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x6db200]
mov dword [esp + 0x10], eax
call fcn.0046c670
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x68]
mov esi, ecx
mov byte [ebp + eax - 1], 0x2d
neg ebx
jmp 0x4a6cef
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
mov ebp, dword [esp + 0x60]
mov edi, dword [esp + 0x6c]
cmp edi, 2
jne 0x4a6d7d
cmp ebx, 0x64
jae 0x4a6d7d
lea ecx, [ebp + 2]
mov edx, eax
mov eax, ebx
mov ebp, 0xcccccccd
mov edi, edx
mul ebp
shr edx, 3
lea ebp, [edx + edx*4]
shl ebp, 1
sub ebx, ebp
cmp esi, ecx
jae 0x4a6d5f
mov dword [esp + 0x50], edx
mov dword [esp + 0x2c], ebx
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 2
lea eax, [0x6db200]
mov dword [esp + 0x10], eax
call fcn.0046c670
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x2c]
mov edi, eax
lea eax, [edx + 0x30]
mov byte [ecx + edi - 2], al
lea eax, [ebx + 0x30]
mov byte [ecx + edi - 1], al
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], esi
add esp, 0x58
ret
mov dword [esp + 0x54], eax
cmp edi, 4
jne 0x4a6e94
cmp ebx, 0x2710
jae 0x4a6e94
lea ecx, [ebp + 4]
mov dword [esp + 0x4c], ecx
mov edx, ebx
shr ebx, 1
mov eax, 0xa3d70a3e
mov edi, edx
mul ebx
shr edx, 5
mov eax, 0xcccccccd
mov ebx, edx
mul edx
shr edx, 3
lea edx, [edx + edx*4]
shl edx, 1
mov dword [esp + 0x48], edx
mov eax, edi
mov ebp, 0xcccccccd
mul ebp
shr edx, 3
mov eax, ebp
mov ebp, edx
mul edx
shr edx, 3
lea edx, [edx + edx*4]
shl edx, 1
mov dword [esp + 0x44], edx
lea eax, [ebp + ebp*4]
shl eax, 1
mov dword [esp + 0x40], eax
mov eax, edi
mov ecx, 0x83126e98
mul ecx
mov ecx, dword [esp + 0x48]
sub ebx, ecx
mov ecx, dword [esp + 0x44]
sub ebp, ecx
mov ecx, dword [esp + 0x40]
sub edi, ecx
mov ecx, dword [esp + 0x4c]
cmp esi, ecx
jb 0x4a6e13
mov eax, dword [esp + 0x54]
jmp 0x4a6e65
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edi
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 4
lea eax, [0x6db200]
mov dword [esp + 0x10], eax
call fcn.0046c670
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
shr edx, 9
add edx, 0x30
mov byte [ecx + eax - 4], dl
lea edx, [ebx + 0x30]
mov byte [ecx + eax - 3], dl
lea edx, [ebp + 0x30]
mov byte [ecx + eax - 2], dl
lea edx, [edi + 0x30]
mov byte [ecx + eax - 1], dl
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], esi
add esp, 0x58
ret
mov dword [esp + 0x30], ebx
test ebx, ebx
sete cl
movzx ecx, cl
mov edx, ebx
jmp 0x4a6eb9
mov eax, 0xcccccccd
mul ebx
shr edx, 3
inc ecx
mov eax, dword [esp + 0x54]
mov ebx, edx
mov edx, dword [esp + 0x30]
test ebx, ebx
ja 0x4a6ea4
mov dword [esp + 0x38], ecx
sub edi, ecx
jmp 0x4a6ecd
mov byte [ebx + eax - 1], 0x30
dec edi
mov ebp, ebx
test edi, edi
jle 0x4a6f18
lea ebx, [ebp + 1]
cmp esi, ebx
jae 0x4a6ec5
mov dword [esp + 0x34], edi
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x6db200]
mov dword [esp + 0x10], eax
call fcn.0046c670
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
jmp 0x4a6ec5
lea ebx, [ecx + ebp]
cmp esi, ebx
jl 0x4a6f26
jae 0x4a6f90
jmp 0x4a6ff5
test ecx, ecx
jl 0x4a6ff0
je 0x4a6f8e
cmp esi, ebx
jae 0x4a6f62
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
lea eax, [0x6db200]
mov dword [esp + 0x10], eax
call fcn.0046c670
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x54], eax
sub ebx, ecx
add ebx, eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00471ff0
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x54]
mov ebx, ebp
lea ebp, [ebx - 1]
jmp 0x4a6fa0
add edi, 0x30
xchg edi, eax
mov byte [ecx + ebp], al
xchg edi, eax
dec ebp
mov eax, ecx
cmp edx, 0xa
jb 0x4a6fc4
test ebp, ebp
jle 0x4a6fc4
mov ecx, eax
mov eax, 0xcccccccd
mov edi, edx
mul edx
shr edx, 3
lea eax, [edx + edx*4]
shl eax, 1
sub edi, eax
cmp ebp, ebx
jb 0x4a6f95
jmp 0x4a6fe7
cmp ebp, ebx
jae 0x4a6fde
lea ecx, [edx + 0x30]
mov byte [eax + ebp], cl
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], esi
add esp, 0x58
ret
mov eax, ebp
mov ecx, ebx
call fcn.004718b0
mov eax, ebp
mov ecx, ebx
call fcn.004718b0
call fcn.0044ceb0
mov ecx, ebx
mov edx, esi
call fcn.004718f0
nop
call fcn.00470430
jmp fcn.004a6c70