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

Disassembly:
sub esp, 0x548
push ebx
push ebp
push esi
mov esi, ecx
mov eax, edx
push edi
lea ecx, [esp + 0x418]
mov dword [esp + 0x28], esi
push dword [esi + 0x1200]
lea edx, [esi + 0x20]
push ecx
lea ecx, [esp + 0x60]
push ecx
mov ecx, eax
call fcn.005689d0
mov eax, dword [esi + 0x1200]
lea edx, [esi + 0x28]
sar eax, 1
push eax
lea eax, [esp + 0x2e8]
push eax
lea eax, [esp + 0x6c]
push eax
mov ecx, eax
call fcn.005689d0
mov eax, dword [esi + 0x1200]
lea edx, [esi + 0x30]
sar eax, 2
push eax
lea eax, [esp + 0x1b4]
push eax
lea eax, [esp + 0x78]
push eax
mov ecx, eax
call fcn.005689d0
mov ecx, dword [esi + 0x1200]
add esp, 0x24
sar ecx, 3
sar word [esp + ecx*2 + 0x56], 1
movzx edx, word [esp + ecx*2 + 0x56]
dec ecx
test ecx, ecx
jle 0x560bda
jmp 0x560bc0
mov ax, word [esp + ecx*2 + 0x56]
sar ax, 1
movzx eax, ax
sub word [esp + ecx*2 + 0x58], ax
mov word [esp + ecx*2 + 0x56], ax
dec ecx
test ecx, ecx
jg 0x560bc0
mov ax, word [esi + 0x58]
lea ebx, [esp + 0x38]
sub word [esp + 0x58], ax
lea edi, [esi + 0x38]
mov eax, 4
mov word [esi + 0x58], dx
mov dword [esp + 0x24], 0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], edi
jmp 0x560c10
mov esi, dword [esi + 0x1200]
mov ecx, 3
mov edi, dword [edi]
cmp eax, ecx
mov dword [ebx], edi
cmovb ecx, eax
xor eax, eax
sar esi, cl
sar esi, 2
xor ecx, ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], ecx
lea esp, [esp]
add eax, dword [esp + 0x24]
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x34], edx
xor ebp, ebp
mov dword [esp + 0x2c], eax
cmp esi, 2
jl 0x560c94
add esi, 0xfffffffe
lea ecx, [esp + 0x5a]
shr esi, 1
lea ecx, [ecx + eax*2]
inc esi
lea eax, [esi + esi]
mov dword [esp + 0x34], eax
jmp 0x560c70
movsx eax, word [ecx - 2]
lea ecx, [ecx + 4]
sar eax, 3
imul eax, eax
add ebx, eax
movsx eax, word [ecx - 4]
sar eax, 3
imul eax, eax
add ebp, eax
sub esi, 1
jne 0x560c70
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
cmp eax, esi
jge 0x560caf
add eax, dword [esp + 0x2c]
movsx edx, word [esp + eax*2 + 0x58]
sar edx, 3
imul edx, edx
lea eax, [ebx + ebp]
add edx, eax
cmp ecx, 3
jae 0x560cc2
lea eax, [edi + edx]
mov edi, eax
test eax, eax
jmp 0x560cc8
mov eax, edx
sar eax, 1
add edi, eax
mov ebx, dword [esp + 0x14]
mov eax, closesocket
cmovs edi, eax
mov eax, dword [esp + 0x30]
inc ecx
add eax, esi
mov dword [esp + 0x30], eax
mov dword [ebx], edi
mov dword [esp + 0x18], ecx
cmp ecx, 4
jl 0x560c40
mov edi, dword [esp + 0x10]
add ebx, 4
mov eax, dword [esp + 0x1c]
add dword [esp + 0x24], 0xa0
dec eax
mov esi, dword [esp + 0x28]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
test eax, eax
jg 0x560c10
mov ebp, esi
mov ecx, dword [ebp + 0x8c]
cmp ecx, 0x3e8
jge 0x560d3d
sar ecx, 4
mov eax, 0x7fff
inc ecx
cdq
idiv ecx
jmp 0x560d3f
xor eax, eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], eax
add ebp, 0x6c
lea esp, [esp]
mov edi, dword [esp + eax*4 + 0x38]
mov eax, closesocket
add edi, dword [ebp + 0x10]
mov esi, dword [ebp - 0x10]
cmovs edi, eax
xor edx, edx
div edi
lea ecx, [esi*8]
mov ebx, eax
cmp edi, ecx
jle 0x560d7a
mov edi, 0x80
jmp 0x560db7
cmp edi, esi
jge 0x560d85
mov edi, 0x400
jmp 0x560db7
movsx ecx, si
sar esi, 0xf
inc esi
movzx eax, bx
sar esi, 1
imul eax, ecx
imul esi, ebx
sar eax, 0x10
add esi, eax
mov eax, ebx
sar eax, 0x10
imul eax, ecx
add esi, eax
movzx edi, si
shl edi, 0xb
sar esi, 0x10
sar edi, 0x10
shl esi, 0xb
add edi, esi
sub ebx, dword [ebp]
mov esi, dword [esp + 0x10]
cmp edi, esi
movzx eax, di
movzx ecx, si
cmovg ecx, eax
movsx eax, cx
movzx ecx, bx
imul ecx, eax
sar ebx, 0x10
imul ebx, eax
mov eax, closesocket
cdq
sar ecx, 0x10
add ecx, dword [ebp]
add ecx, ebx
idiv ecx
mov dword [ebp], ecx
mov ecx, 0xffffff
cmp eax, ecx
cmovl ecx, eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [ebp - 0x10], ecx
add ebp, 4
mov dword [esp + 0x14], eax
cmp eax, 4
jl 0x560d50
mov ecx, dword [esp + 0x28]
xor eax, eax
xor edi, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edi
inc dword [ecx + 0x8c]
lea eax, [ecx + 0x5c]
xor ebp, ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ebp
mov ecx, dword [eax]
mov eax, dword [esp + ebp + 0x38]
mov ebx, eax
sub ebx, ecx
test ebx, ebx
jle 0x56100d
test eax, 0xff800000
jne 0x560e4e
shl eax, 8
jmp 0x560e51
sar ecx, 8
inc ecx
cdq
idiv ecx
mov esi, eax
mov dword [esp + ebp + 0x48], esi
mov ecx, esi
test esi, 0xffff0000
je 0x560e71
sar ecx, 0x10
call fcn.00553040
mov edi, eax
jmp 0x560e79
call fcn.00553040
lea edi, [eax + 0x10]
mov ecx, 0x18
sub ecx, edi
je 0x560e8e
test ecx, ecx
jns 0x560e8c
neg ecx
rol esi, cl
jmp 0x560e8e
ror esi, cl
and esi, 0x7f
mov edx, 0x80
sub edx, esi
imul edx, esi
movzx eax, dx
imul ecx, eax, 0xb3
sar edx, 0x10
imul eax, edx, 0xb3
sar ecx, 0x10
add eax, esi
mov esi, 0x17
sub esi, edi
add eax, ecx
shl esi, 7
add esi, eax
movsx ecx, si
mov eax, ecx
mov dword [esp + 0x2c], ecx
imul eax, ecx
add dword [esp + 0x18], eax
cmp ebx, 0x100000
jge 0x560fe9
mov eax, ebx
and eax, 0xffff0000
mov dword [esp + 0x20], eax
je 0x560efc
mov ebp, ebx
sar ebp, 0x10
mov ecx, ebp
call fcn.00553040
mov edx, eax
movzx eax, bx
jmp 0x560f10
movzx esi, bx
mov ecx, esi
call fcn.00553040
mov ebp, ebx
sar ebp, 0x10
lea edx, [eax + 0x10]
mov eax, esi
movzx eax, ax
mov ecx, 0x18
mov dword [esp + 0x30], eax
mov eax, ebx
sub ecx, edx
je 0x560f2e
test ecx, ecx
jns 0x560f2c
neg ecx
rol eax, cl
jmp 0x560f2e
ror eax, cl
test dl, 1
mov ecx, 0xb486
mov edi, 0x8000
cmove edi, ecx
and eax, 0x7f
sar edx, 1
mov ecx, edx
imul edx, eax, 0xd5
sar edi, cl
movzx esi, di
mov eax, edi
sar eax, 0x10
imul esi, edx
imul eax, edx
shr esi, 0x10
add edi, esi
cmp dword [esp + 0x20], 0
lea edi, [eax + edi]
je 0x560f73
mov ecx, ebp
call fcn.00553040
jmp 0x560f7f
mov ecx, dword [esp + 0x30]
call fcn.00553040
add eax, 0x10
mov ecx, 0x18
sub ecx, eax
je 0x560f94
test ecx, ecx
jns 0x560f92
neg ecx
rol ebx, cl
jmp 0x560f94
ror ebx, cl
test al, 1
mov ebp, dword [esp + 0x1c]
mov ecx, 0xb486
mov esi, 0x8000
cmove esi, ecx
sar eax, 1
mov ecx, eax
shl edi, 6
sar esi, cl
and ebx, 0x7f
movzx edx, si
mov eax, esi
imul ecx, ebx, 0xd5
sar eax, 0x10
sar edi, 0x10
imul edi, dword [esp + 0x2c]
imul edx, ecx
imul eax, ecx
shr edx, 0x10
add esi, edx
add esi, eax
and esi, 0x3ff
shl esi, 6
imul esi, dword [esp + 0x2c]
sar esi, 0x10
add esi, edi
mov edx, dword [ebp + 0x5e62a0]
movzx edi, dx
sar edx, 0x10
movsx eax, si
imul edi, eax
imul edx, eax
sar edi, 0x10
add edx, dword [esp + 0x10]
add edi, edx
mov dword [esp + 0x10], edi
jmp 0x561015
mov dword [esp + ebp + 0x48], 0x100
mov eax, dword [esp + 0x14]
add ebp, 4
add eax, 4
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
cmp ebp, 0x10
jl 0x560e30
mov eax, dword [esp + 0x18]
cdq
and edx, 3
lea ecx, [edx + eax]
sar ecx, 2
call fcn.00560ab0
lea eax, [eax + eax*2]
cwde
imul edx, eax, 0xafc8
sar edx, 0x10
sub edx, 0x80
jns 0x561084
neg edx
cmp edx, 0xc0
jl 0x561066
xor esi, esi
jmp 0x5610ad
mov ecx, edx
and edx, 0x1f
sar ecx, 5
movsx eax, word [ecx*4 + 0x5e727c]
mov esi, dword [ecx*4 + 0x5e7294]
imul eax, edx
sub esi, eax
jmp 0x5610ad
cmp edx, 0xc0
jl 0x561093
mov esi, 0x7fff
jmp 0x5610ad
mov eax, edx
and edx, 0x1f
sar eax, 5
movsx esi, word [eax*4 + 0x5e727c]
imul esi, edx
add esi, dword [eax*4 + 0x5e7264]
test edi, edi
jns 0x5610dd
neg edi
cmp edi, 0xc0
jl 0x5610bf
xor ecx, ecx
jmp 0x561106
mov ecx, edi
and edi, 0x1f
sar ecx, 5
movsx eax, word [ecx*4 + 0x5e727c]
mov ecx, dword [ecx*4 + 0x5e7294]
imul eax, edi
sub ecx, eax
jmp 0x561106
cmp edi, 0xc0
jl 0x5610ec
mov ecx, 0x7fff
jmp 0x561106
mov eax, edi
and edi, 0x1f
sar eax, 5
movsx ecx, word [eax*4 + 0x5e727c]
imul ecx, edi
add ecx, dword [eax*4 + 0x5e7264]
mov ebp, dword [esp + 0x28]
lea eax, [ecx*2 - 0x8000]
mov ecx, dword [esp + 0x44]
mov dword [ebp + 0x1284], eax
sub ecx, dword [ebp + 0x68]
mov eax, dword [esp + 0x3c]
sub eax, dword [ebp + 0x60]
sar eax, 4
sar ecx, 4
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x40]
sub eax, dword [ebp + 0x64]
sar eax, 4
lea eax, [eax + eax*2]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x38]
sub eax, dword [ebp + 0x5c]
sar eax, 4
add ecx, eax
test ecx, ecx
jg 0x561152
sar esi, 1
jmp 0x561193
cmp ecx, 0x8000
jge 0x561193
mov eax, dword [ebp + 0x11f8]
lea eax, [eax + eax*4]
add eax, eax
cmp dword [ebp + 0x1200], eax
jne 0x561172
shl ecx, 0x10
jmp 0x561175
shl ecx, 0xf
call fcn.00560ab0
add eax, 0x8000
movsx ecx, si
movzx esi, ax
imul esi, ecx
sar eax, 0x10
imul eax, ecx
sar esi, 0x10
add esi, eax
mov ecx, esi
movzx edx, si
sar ecx, 7
mov eax, 0xff
cmp ecx, eax
cmovl eax, ecx
movzx ecx, si
mov dword [ebp + 0x11cc], eax
movsx eax, cx
imul edx, eax
mov eax, dword [ebp + 0x11f8]
sar esi, 0x10
imul esi, ecx
sar edx, 0x10
lea eax, [eax + eax*4]
add eax, eax
add edx, esi
movsx ecx, dx
shl ecx, 0xc
sar ecx, 0x10
cmp dword [ebp + 0x1200], eax
jne 0x5611dd
sar ecx, 1
lea eax, [ebp + 0x1274]
movsx esi, cx
xor ebx, ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x10], eax
add ebp, 0x48
mov edx, dword [esp + ebx*4 + 0x48]
sub edx, dword [ebp]
movzx eax, dx
imul eax, esi
sar edx, 0x10
imul esi, edx
sar eax, 0x10
add eax, dword [ebp]
add esi, eax
mov dword [ebp], esi
mov ecx, esi
test esi, 0xffff0000
je 0x561227
sar ecx, 0x10
call fcn.00553040
mov edi, eax
jmp 0x56122f
call fcn.00553040
lea edi, [eax + 0x10]
mov ecx, 0x18
sub ecx, edi
je 0x561244
test ecx, ecx
jns 0x561242
neg ecx
rol esi, cl
jmp 0x561244
ror esi, cl
and esi, 0x7f
shl edi, 7
mov ecx, 0x80
sub ecx, esi
imul ecx, esi
movzx eax, cx
imul edx, eax, 0xb3
sar ecx, 0x10
imul eax, ecx, 0xb3
sar edx, 0x10
add edx, eax
sub edx, edi
add edx, esi
lea edx, [edx + edx*2]
add edx, 0x1a80
sar edx, 4
test edx, edx
jns 0x5612ab
neg edx
cmp edx, 0xc0
jl 0x56128d
xor ecx, ecx
jmp 0x5612d4
mov ecx, edx
and edx, 0x1f
sar ecx, 5
movsx eax, word [ecx*4 + 0x5e727c]
mov ecx, dword [ecx*4 + 0x5e7294]
imul eax, edx
sub ecx, eax
jmp 0x5612d4
cmp edx, 0xc0
jl 0x5612ba
mov ecx, 0x7fff
jmp 0x5612d4
mov eax, edx
and edx, 0x1f
sar eax, 5
movsx ecx, word [eax*4 + 0x5e727c]
imul ecx, edx
add ecx, dword [eax*4 + 0x5e7264]
mov edi, dword [esp + 0x10]
inc ebx
mov esi, dword [esp + 0x20]
add ebp, 4
mov dword [edi], ecx
add edi, 4
mov dword [esp + 0x10], edi
cmp ebx, 4
jl 0x5611f3
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x548
ret