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

Disassembly:
sub esp, 0xa4
mov eax, dword [0x59da54]
xor eax, esp
mov dword [esp + 0xa0], eax
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0xac]
push ebx
xor ebx, ebx
mov dword [esp + 0x1c], eax
cmp edx, 0x10
push ebp
mov ebp, dword [esp + 0xbc]
sete bl
push esi
mov esi, dword [esp + 0xb4]
inc ebx
imul ebx, ebp
cmp dword [esp + 0xcc], 0
mov dword [esp + 0x30], esi
mov ecx, dword [esi]
jne 0x47100a
push dword [esp + 0xc8]
push edx
push dword [ecx + 4]
push dword [ecx]
push ebp
push dword [esp + 0xd0]
push eax
push esi
call fcn.004712c0
add esp, 0x20
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.00493440
add esp, 0xa4
ret
push edi
mov edi, dword [ecx + 4]
mov ecx, dword [ecx]
test ecx, ecx
js 0x471052
test edi, edi
js 0x471052
je 0x471026
mov eax, accept
cdq
idiv edi
cmp ecx, eax
jg 0x471052
imul ecx, edi
test ecx, ecx
js 0x471052
test ebx, ebx
js 0x471052
je 0x47103f
mov eax, accept
cdq
idiv ebx
cmp ecx, eax
jg 0x471052
imul ecx, ebx
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x47105a
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0xc0]
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], ecx
nop dword [eax + eax]
movaps xmm0, xmmword [0x4f5c20]
xor edx, edx
mov edi, dword [esi]
movups xmmword [esp + 0x40], xmm0
mov dword [esp + 0x6c], 2
movaps xmm0, xmmword [0x4f5c10]
movups xmmword [esp + 0x94], xmm0
mov dword [esp + 0x70], 2
movaps xmm0, xmmword [0x4f5c50]
movups xmmword [esp + 0x5c], xmm0
mov dword [esp + 0x74], 1
mov ebp, dword [esp + eax + 0x5c]
mov ecx, ebp
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 1
mov dword [esp + 0x58], 0
sub ecx, dword [esp + eax + 0x40]
mov eax, dword [edi]
dec ecx
add eax, ecx
movaps xmm0, xmmword [0x4f5c60]
div ebp
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x88], 4
mov dword [esp + 0x8c], 2
mov dword [esp + 0x90], 2
mov dword [esp + 0xa4], 2
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 1
mov dword [esp + 0x18], eax
movups xmmword [esp + 0x78], xmm0
mov edx, dword [esp + ecx + 0x78]
mov dword [esp + 0x1c], edx
test eax, eax
je 0x471268
mov ebp, dword [esp + ecx + 0x94]
lea eax, [edx - 1]
mov ecx, dword [edi + 4]
xor edx, edx
sub ecx, ebp
mov dword [esp + 0x20], ebp
add eax, ecx
div dword [esp + 0x1c]
mov dword [esp + 0x24], eax
test eax, eax
je 0x471268
mov edi, dword [edi + 8]
mov ecx, dword [esp + 0x18]
push dword [esp + 0xcc]
mov edx, dword [esp + 0xcc]
imul edi, ecx
push edx
push eax
push ecx
push dword [esp + 0xd4]
imul edi, edx
push dword [esp + 0x40]
push dword [esp + 0x40]
add edi, 7
sar edi, 3
inc edi
imul edi, eax
push esi
mov dword [esp + 0x5c], edi
call fcn.004712c0
add esp, 0x20
test eax, eax
je 0x4712a1
mov ecx, dword [esp + 0x24]
test ecx, ecx
jle 0x471254
mov edx, dword [esp + 0x18]
xor eax, eax
mov edi, dword [esp + 0x1c]
mov esi, edx
imul esi, ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], esi
test edx, edx
jle 0x471237
xor edi, edi
mov esi, eax
mov ebp, edx
mov ecx, dword [esp + 0x34]
push ebx
mov eax, dword [ecx + 0xc]
add eax, esi
push eax
mov eax, dword [ecx]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax]
imul eax, dword [esp + 0x28]
add eax, dword [esp + ecx + 0x48]
add eax, edi
imul eax, ebx
add eax, dword [esp + 0x1c]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x1c]
add esp, 0xc
add esi, ebx
add edi, dword [esp + eax + 0x5c]
sub ebp, 1
jne 0x4711e2
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x1c]
add ebp, edi
add eax, esi
sub ecx, 1
mov dword [esp + 0x20], ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], ecx
jne 0x4711d8
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x3c]
push dword [esi + 0xc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add dword [esp + 0x2c], edi
add esp, 4
sub dword [esp + 0x2c], edi
mov eax, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x10], eax
cmp eax, 0x1c
jl 0x471070
mov eax, dword [esp + 0x14]
mov dword [esi + 0xc], eax
mov eax, 1
mov ecx, dword [esp + 0xb0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00493440
add esp, 0xa4
ret
push dword [esp + 0x14]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
xor eax, eax
jmp 0x471288