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

Disassembly:
sub esp, 0xf8
xor eax, eax
mov dword [esp + 0x2c], ecx
mov word [esp + 0x30], ax
movsx eax, word [esp + 0x118]
mov dword [esp + 0x84], eax
dec eax
push ebx
push ebp
mov ebp, dword [esp + 0x104]
lea ebx, [esp + 0xc0]
lea ecx, [edx + eax*2]
mov dword [esp + 0x10], eax
add ebx, eax
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x10c]
sub ebp, edx
sub eax, edx
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x114]
lea edx, [esp + 0xc0]
push esi
mov esi, dword [esp + 0x10c]
push edi
sub esi, edx
mov dword [esp + 0x8c], eax
mov edx, dword [esp + 0x124]
mov edi, 1
mov dword [esp + 0x24], edi
mov dword [esp + 0x90], esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x74], ebp
movsx ebp, word [eax + ecx]
movzx eax, byte [esi + ebx]
add ebp, dword [esp + 0x118]
movzx esi, word [ecx]
mov dx, word [esp + 0x120]
mov dword [esp + 0x10], ebx
xor ebx, ebx
shl eax, 8
mov dword [esp + 0x38], ecx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x78], eax
mov dword [esp + 0x20], esi
test edi, edi
jle 0x5708ad
mov eax, dword [esp + 0x70]
movzx eax, word [eax + ecx]
cwde
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x50]
movsx ecx, dx
lea eax, [eax + edi*4]
mov edx, dword [esp + 0x10]
sar ecx, 0xf
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x40]
movsx ecx, cx
lea eax, [eax + edi*2]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], edx
mov edi, edi
movsx edi, word [esp + ebx*2 + 0x40]
mov eax, esi
imul edi, dword [esp + 0x78]
sar edi, 0x10
sub eax, edi
movsx ecx, ax
movzx eax, word [esp + 0x120]
imul eax, ecx
imul ecx, dword [esp + 0x7c]
sar eax, 0x10
add eax, ecx
cmp eax, 9
jle 0x570757
mov eax, 9
mov esi, 0x2800
mov byte [edx], al
mov edx, 0x2400
sub edx, 0x66
sub esi, 0x66
jmp 0x57078d
cmp eax, 0xfffffff6
mov ecx, 0xfffffff6
cmovl eax, ecx
mov byte [edx], al
mov edx, eax
shl edx, 0xa
lea esi, [edx + 0x400]
test eax, eax
jle 0x57077b
sub edx, 0x66
sub esi, 0x66
jmp 0x57078d
jne 0x570782
sub esi, 0x66
jmp 0x57078d
add edx, 0x66
cmp eax, 0xffffffff
je 0x57078d
add esi, 0x66
movzx ecx, dx
imul ecx, dword [esp + 0x14]
sar edx, 0x10
imul edx, dword [esp + 0x14]
sar ecx, 0x10
add ecx, edi
add edx, ecx
movzx ecx, si
imul ecx, dword [esp + 0x14]
sar esi, 0x10
imul esi, dword [esp + 0x14]
sar ecx, 0x10
add ecx, edi
add esi, ecx
movzx ecx, dx
mov edx, dword [esp + 0x1c]
mov word [esp + ebx*2 + 0x40], cx
mov dword [esp + 0x80], ecx
movzx ecx, si
mov dword [esp + 0x84], ecx
mov word [edx], cx
lea ecx, [eax + 1]
cmp ecx, 4
jl 0x5707f8
jne 0x5707ec
mov edi, 0x118
jmp 0x57081f
cwde
imul ecx, eax, 0x2b
add ecx, 0x6c
lea edi, [ecx + 0x2b]
jmp 0x570824
cmp eax, 0xfffffffc
jg 0x57081a
jne 0x57080a
movzx edi, byte [ebp + 1]
mov ecx, 0x118
jmp 0x570824
cwde
mov ecx, 0x6c
imul eax, eax, 0x2b
sub ecx, eax
lea edi, [ecx - 0x2b]
jmp 0x570824
movzx edi, byte [eax + ebp + 5]
movzx ecx, byte [eax + ebp + 4]
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x80]
mov esi, dword [esp + ebx*4 + 0x50]
movsx edx, cx
cwde
movsx ecx, bp
imul edx, ecx
mov ecx, dword [esp + 0x2c]
imul ecx, eax
add dword [esp + 0x1c], 2
add edx, esi
imul ecx, eax
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x84]
cwde
add ecx, edx
movsx edx, di
mov dword [esp + ebx*4 + 0x50], ecx
mov edi, ebp
mov ebp, dword [esp + 0x88]
inc ebx
movsx ecx, di
mov edi, dword [esp + 0x24]
imul edx, ecx
mov ecx, dword [esp + 0x2c]
imul ecx, eax
add edx, esi
mov esi, dword [esp + 0x20]
imul ecx, eax
mov eax, dword [esp + 0x34]
add ecx, edx
mov edx, dword [esp + 0x30]
mov dword [eax], ecx
add edx, 0x10
add eax, 4
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
cmp ebx, edi
jl 0x570710
mov ebp, dword [esp + 0x18]
cmp edi, 4
jge 0x570924
mov ebx, dword [esp + 0x10]
test edi, edi
jle 0x5708e4
mov eax, edi
lea edx, [esp + 0xc8]
shl eax, 4
mov ecx, ebx
add eax, ebp
mov esi, edi
add edx, eax
mov al, byte [ecx]
lea ecx, [ecx + 0x10]
inc al
lea edx, [edx + 0x10]
mov byte [edx - 0x10], al
sub esi, 1
jne 0x5708d2
add edi, edi
mov dword [esp + 0x24], edi
cmp edi, 4
jge 0x570ac9
mov eax, edi
lea ecx, [esp + 0xc8]
shl eax, 4
mov esi, 4
add eax, ebp
mov edx, ebx
add ecx, eax
sub esi, edi
lea esp, [esp]
mov al, byte [edx]
lea edx, [edx + 0x10]
mov byte [ecx], al
lea ecx, [ecx + 0x10]
sub esi, 1
jne 0x570910
jmp 0x570ac9
test ebp, ebp
jle 0x570ae9
xor edx, edx
mov edi, edi
mov edi, dword [esp + edx*4 + 0x60]
mov esi, dword [esp + edx*4 + 0x50]
cmp esi, edi
jle 0x57095f
movzx ecx, word [esp + edx*2 + 0x40]
mov ax, word [esp + edx*2 + 0x48]
mov word [esp + edx*2 + 0x40], ax
lea eax, [edx + 4]
mov word [esp + edx*2 + 0x48], cx
mov ecx, edi
mov dword [esp + edx*4 + 0x50], edi
mov dword [esp + edx*4 + 0x60], esi
jmp 0x570965
mov ecx, esi
mov eax, edx
mov esi, edi
mov dword [esp + edx*4 + 0xb8], esi
mov dword [esp + edx*4 + 0xa8], ecx
mov dword [esp + edx*4 + 0x98], eax
inc edx
cmp edx, 4
jl 0x570930
mov edx, dword [esp + 0xa8]
mov ecx, closesocket
cmp dword [esp + 0xb8], ecx
mov esi, dword [esp + 0xbc]
cmovl ecx, dword [esp + 0xb8]
xor eax, eax
test edx, edx
cmovle edx, eax
mov eax, dword [esp + 0xac]
xor ebx, ebx
mov edi, edx
cmp ecx, esi
cmovle esi, ecx
setg bl
cmp edx, eax
cmovl edi, eax
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0xc0]
setl cl
cmp esi, eax
jle 0x5709da
mov esi, eax
mov ebx, 2
mov eax, dword [esp + 0xb0]
cmp edi, eax
jge 0x5709ec
mov edi, eax
mov ecx, 2
mov eax, dword [esp + 0xc4]
cmp esi, eax
jle 0x5709fe
mov esi, eax
mov ebx, 3
mov eax, dword [esp + 0xb4]
cmp edi, eax
jge 0x570a10
mov edi, eax
mov ecx, 3
cmp esi, edi
jge 0x570a8e
mov eax, dword [esp + ebx*4 + 0x98]
xor eax, 4
mov dword [esp + ebx*4 + 0xb8], SysStringLen
mov dword [esp + ecx*4 + 0x98], eax
mov eax, dword [esp + ebx*4 + 0x60]
mov dword [esp + ecx*4 + 0x50], eax
mov ax, word [esp + ebx*2 + 0x48]
add ebx, ebx
mov word [esp + ecx*2 + 0x40], ax
mov dword [esp + ecx*4 + 0xa8], 0
add ecx, ecx
mov eax, dword [esp + ebx*8 + 0xc8]
mov dword [esp + ecx*8 + 0xc8], eax
mov eax, dword [esp + ebx*8 + 0xcc]
mov dword [esp + ecx*8 + 0xcc], eax
mov eax, dword [esp + ebx*8 + 0xd0]
mov dword [esp + ecx*8 + 0xd0], eax
mov eax, dword [esp + ebx*8 + 0xd4]
mov dword [esp + ecx*8 + 0xd4], eax
jmp 0x570980
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x98]
mov edi, dword [esp + 0x24]
sar eax, 2
add byte [ebx], al
mov eax, dword [esp + 0x9c]
sar eax, 2
add byte [ebx + 0x10], al
mov eax, dword [esp + 0xa0]
sar eax, 2
add byte [ebx + 0x20], al
mov eax, dword [esp + 0xa4]
sar eax, 2
add byte [ebx + 0x30], al
mov ecx, dword [esp + 0x38]
dec ebp
mov eax, dword [esp + 0x8c]
sub ecx, 2
mov esi, dword [esp + 0x90]
dec ebx
mov dword [esp + 0x18], ebp
jmp 0x570690
mov eax, dword [esp + 0x54]
mov ecx, closesocket
cmp dword [esp + 0x50], ecx
mov edx, eax
mov esi, dword [esp + 0x58]
cmovl ecx, dword [esp + 0x50]
cmp ecx, eax
cmovle edx, ecx
xor ebx, ebx
cmp ecx, eax
mov eax, 2
mov ecx, 3
setg bl
cmp edx, esi
cmovg ebx, eax
cmovle esi, edx
mov eax, dword [esp + 0x5c]
mov edx, 4
cmp esi, eax
cmovg ebx, ecx
cmovle eax, esi
mov ecx, dword [esp + 0x60]
cmp eax, ecx
mov esi, dword [esp + 0x6c]
cmovg ebx, edx
cmovle ecx, eax
mov eax, dword [esp + 0x64]
mov edx, 5
cmp ecx, eax
cmovg ebx, edx
cmovle eax, ecx
mov ecx, dword [esp + 0x68]
mov edx, 6
cmp eax, ecx
cmovle ecx, eax
cmovg ebx, edx
mov edx, dword [esp + 0x94]
cmp ecx, esi
mov eax, 7
cmovg ebx, eax
cmovle esi, ecx
test edx, edx
jle 0x570b99
mov eax, ebx
lea ecx, [esp + 0xc8]
and eax, 3
shl eax, 4
push edx
add ecx, eax
push ecx
push dword [esp + 0x44]
call fcn.005854c0
add esp, 0xc
mov eax, dword [esp + 0x3c]
sar ebx, 2
pop edi
add byte [eax], bl
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret