Function at 0x556f4c
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff2ec
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0xd8], eax
mov esi, dword [ebp + 8]
lea ebx, [ebp - 0xd4]
mov eax, 0x579bd4
call fcn.00544234
mov dword [ebx + 0x1c], 4
lea edx, [ebp - 4]
lea eax, [ebp - 4]
call fcn.00551a1c
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 8]
mov word [ebx + 0x10], 0xc
lea eax, [ebp - 8]
call fcn.00551a1c
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
mov edx, dword [ebp - 0xd8]
mov byte [edx + 1], 0
mov eax, dword [ebp - 0xd8]
call fcn.00556d18
test al, al
jne 0x556ff3
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 8]
sub dword [ebx + 0x1c], 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 4]
mov edx, 2
call fcn.004027dc
pop eax
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x55826d
mov dword [ebp - 0xdc], 0x50
mov word [ebx + 0x10], 0x18
mov edx, 0x578f49
lea eax, [ebp - 0x10]
xor ecx, ecx
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x10]
lea eax, [ebp - 4]
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov edi, eax
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.004027dc
test edi, edi
jle 0x55713f
mov word [ebx + 0x10], 0x24
xor ecx, ecx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], ecx
xor ecx, ecx
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x30
mov word [ebx + 0x10], 0x3c
mov dword [ebp - 0x18], ecx
inc dword [ebx + 0x1c]
push eax
inc dword [ebx + 0x1c]
cmp dword [ebp - 4], 0
je 0x557078
mov edx, dword [ebp - 4]
mov ecx, dword [edx - 4]
jmp 0x55707a
xor ecx, ecx
lea edx, [edi + 1]
lea eax, [ebp - 4]
call fcn.00403270
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x14]
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.004027dc
mov word [ebx + 0x10], 0x48
xor ecx, ecx
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
lea eax, [ebp - 0x14]
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
call fcn.004067c0
lea edx, [ebp - 0x1c]
lea eax, [ebp - 0x14]
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.004027dc
lea eax, [ebp - 0x14]
call fcn.00551f18
mov dword [ebp - 0xdc], eax
xor edx, edx
mov word [ebx + 0x10], 0x54
mov dword [ebp - 0x20], edx
lea ecx, [ebp - 0x20]
inc dword [ebx + 0x1c]
push ecx
inc dword [ebx + 0x1c]
lea ecx, [edi - 1]
mov edx, 1
lea eax, [ebp - 4]
call fcn.00403270
lea edx, [ebp - 0x20]
lea eax, [ebp - 4]
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004027dc
mov word [ebx + 0x10], 0xc
mov word [ebx + 0x10], 0x60
xor ecx, ecx
mov dword [ebp - 0xc], ecx
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0xc
cmp dword [ebp - 4], 0
jne 0x557163
mov ecx, 0x578f4b
jmp 0x557166
mov ecx, dword [ebp - 4]
push ecx
call sub.WSOCK32.DLL_gethostbyname
test eax, eax
je 0x55719f
mov edx, dword [eax + 0xc]
xor ecx, ecx
mov edx, dword [edx]
mov cl, byte [edx + 3]
push ecx
xor ecx, ecx
mov cl, byte [edx + 2]
push ecx
xor ecx, ecx
mov cl, byte [edx + 1]
xor eax, eax
push ecx
mov al, byte [edx]
lea edx, [ebp - 0xc]
push eax
push 0x578f4c
push edx
call fcn.00402e74
add esp, 0x18
jmp 0x5571e4
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 0xc]
sub dword [ebx + 0x1c], 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 8]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 4]
mov edx, 2
call fcn.004027dc
pop eax
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x55826d
mov word [ebx + 0x10], 0x6c
mov edx, 0x578f59
lea eax, [ebp - 0x24]
mov ecx, 0xffff
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x24]
mov eax, esi
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.00558278
push 0
push 1
push 2
call sub.WSOCK32.DLL_socket
mov dword [ebp - 0xe0], eax
cmp eax, 0xffffffff
je 0x55822d
push 0x10
push 0
lea edx, [ebp - 0x114]
push edx
call fcn.00543c8b
add esp, 0xc
mov word [ebp - 0x114], 2
cmp dword [ebp - 0xc], 0
jne 0x557260
mov ecx, 0x578f5a
jmp 0x557263
mov ecx, dword [ebp - 0xc]
push ecx
call sub.WSOCK32.DLL_inet_addr
mov dword [ebp - 0x110], eax
mov ax, word [ebp - 0xdc]
push eax
call sub.WSOCK32.DLL_htons
mov word [ebp - 0x112], ax
lea edx, [ebp - 0xe4]
mov word [ebx + 0x10], 0xc
mov dword [ebp - 0xe4], 1
push edx
push 0x8004667e
mov ecx, dword [ebp - 0xe0]
push ecx
call sub.WSOCK32.DLL_ioctlsocket
push 0x10
lea eax, [ebp - 0x114]
push eax
mov edx, dword [ebp - 0xe0]
push edx
call sub.WSOCK32.DLL_connect
inc eax
je 0x5572c7
mov al, 1
jmp 0x5572d8
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xd8]
call fcn.00556ecc
cmp al, 1
jne 0x55822d
mov edx, dword [ebp - 0xd8]
cmp byte [edx + 1], 1
jne 0x55733d
mov ecx, dword [ebp - 0xe0]
push ecx
call sub.WSOCK32.DLL_closesocket
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 0xc]
sub dword [ebx + 0x1c], 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 8]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 4]
mov edx, 2
call fcn.004027dc
pop eax
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x55826d
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 0xc], 0
je 0x55735d
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + 4]
push eax
mov edx, dword [ebp - 0xd8]
call dword [edx + 0xc]
pop ecx
xor ecx, ecx
mov dword [ebp - 0xe4], ecx
lea eax, [ebp - 0xe4]
push eax
push 0x8004667e
mov edx, dword [ebp - 0xe0]
push edx
call sub.WSOCK32.DLL_ioctlsocket
mov dword [ebp - 0xe8], 0x400
push 4
lea ecx, [ebp - 0xe8]
push ecx
push 0x1002
push 0xffff
mov eax, dword [ebp - 0xe0]
push eax
call sub.WSOCK32.DLL_setsockopt
mov edx, dword [ebp - 0xd8]
lea eax, [ebp - 0xec]
mov ecx, dword [edx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
mov dword [ebp - 0xec], ecx
push 4
push eax
push 0x1006
push 0xffff
mov edx, dword [ebp - 0xe0]
push edx
call sub.WSOCK32.DLL_setsockopt
push esi
lea edi, [ebp - 0x914]
mov eax, edi
mov esi, 0x578f5b
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp dword [ebp - 8], 0
pop esi
jne 0x5573fe
mov edx, 0x578f60
jmp 0x557401
mov edx, dword [ebp - 8]
push edx
lea eax, [ebp - 0x914]
push eax
call fcn.00543d5c
add esp, 8
push 0x578f61
lea ecx, [ebp - 0x914]
push ecx
call fcn.00543d5c
add esp, 8
push 0x578f6d
lea ecx, [ebp - 0x914]
push ecx
call fcn.00543d5c
add esp, 8
push 0x578fb3
lea eax, [ebp - 0x914]
push eax
call fcn.00543d5c
add esp, 8
cmp dword [ebp - 4], 0
jne 0x55745a
mov edx, 0x578fba
jmp 0x55745d
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0x914]
push eax
call fcn.00543d5c
add esp, 8
push 0x578fbb
lea ecx, [ebp - 0x914]
push ecx
call fcn.00543d5c
add esp, 8
push 0x578fbe
lea ecx, [ebp - 0x914]
push ecx
call fcn.00543d5c
add esp, 8
push 0x578fd2
lea eax, [ebp - 0x914]
push eax
call fcn.00543d5c
add esp, 8
push 0
lea edx, [ebp - 0x914]
push edx
call fcn.00543e58
pop ecx
push eax
lea ecx, [ebp - 0x914]
push ecx
mov eax, dword [ebp - 0xe0]
push eax
call sub.WSOCK32.DLL_send
mov word [ebx + 0x10], 0x78
xor edx, edx
mov dword [ebp - 0x28], edx
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
xor ecx, ecx
mov word [ebx + 0x10], 0x84
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xfc], 0x578fd5
mov dword [ebp - 0x100], 0x578fe5
push 0x400
push 0
lea eax, [ebp - 0xd14]
push eax
call fcn.00543c8b
add esp, 0xc
lea edx, [ebp - 0xd14]
push 0
push 0x3ff
push edx
mov ecx, dword [ebp - 0xe0]
push ecx
call sub.WSOCK32.DLL_recv
cmp dword [ebp - 0xf0], 0
mov edi, eax
jne 0x557731
cmp dword [ebp - 0xf4], 0
jne 0x557731
mov word [ebx + 0x10], 0x90
xor eax, eax
lea edx, [ebp - 0xd14]
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x2c]
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x9c
push edx
push 0x578fea
push ecx
call fcn.00402e74
mov word [ebx + 0x10], 0xa8
xor ecx, ecx
add esp, 0xc
mov dword [ebp - 0x30], ecx
lea eax, [ebp - 0x30]
inc dword [ebx + 0x1c]
push eax
inc dword [ebx + 0x1c]
lea eax, [ebp - 0x2c]
mov ecx, 5
mov edx, 1
call fcn.00403270
mov edx, 0x578fed
lea eax, [ebp - 0x34]
xor ecx, ecx
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x34]
lea eax, [ebp - 0x30]
call fcn.00551bc0
push eax
lea eax, [ebp - 0x34]
sub dword [ebx + 0x1c], 2
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.004027dc
pop ecx
test cl, cl
je 0x55771a
mov word [ebx + 0x10], 0xb4
mov edx, 0x578ff3
lea eax, [ebp - 0x38]
xor ecx, ecx
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x38]
lea eax, [ebp - 0x2c]
call fcn.00551d0c
test eax, eax
lea eax, [ebp - 0x38]
setg cl
and ecx, 1
mov edx, 2
push ecx
sub dword [ebx + 0x1c], 2
call fcn.004027dc
pop ecx
test cl, cl
je 0x55771a
mov word [ebx + 0x10], 0xc0
xor ecx, ecx
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], ecx
mov edx, 0x578ff5
inc dword [ebx + 0x1c]
push eax
inc dword [ebx + 0x1c]
xor ecx, ecx
lea eax, [ebp - 0x3c]
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x3c]
lea eax, [ebp - 0x2c]
call fcn.00551d0c
mov edx, eax
inc edx
lea eax, [ebp - 0x2c]
mov ecx, 3
call fcn.00403270
mov edx, 0x578ff7
lea eax, [ebp - 0x44]
xor ecx, ecx
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x44]
lea eax, [ebp - 0x40]
call fcn.00551bc0
push eax
lea eax, [ebp - 0x44]
sub dword [ebx + 0x1c], 2
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x40]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.004027dc
pop ecx
test cl, cl
je 0x55771a
push 0x400
push 0
lea ecx, [ebp - 0xd14]
push ecx
call fcn.00543c8b
add esp, 0xc
lea eax, [ebp - 0xd14]
push 0
push 0x3ff
push eax
mov edx, dword [ebp - 0xe0]
push edx
call sub.WSOCK32.DLL_recv
mov edi, eax
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.004027dc
mov word [ebx + 0x10], 0x84
test edi, edi
jle 0x557ae3
lea ecx, [ebp - 0xd14]
push ecx
push 0x578ffb
push esi
call fcn.005582cc
add esp, 0xc
cmp dword [esi], 0
je 0x55775a
mov ecx, dword [esi]
mov eax, dword [ecx - 4]
jmp 0x55775c
xor eax, eax
cmp eax, 4
jle 0x5577d7
mov word [ebx + 0x10], 0xcc
xor edx, edx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov edx, 1
inc dword [ebx + 0x1c]
push ecx
inc dword [ebx + 0x1c]
mov ecx, 4
mov eax, esi
call fcn.005582f0
mov edx, 0x578ffe
lea eax, [ebp - 0x4c]
mov ecx, 0xffff
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x4c]
lea eax, [ebp - 0x48]
call fcn.00551bd8
push eax
lea eax, [ebp - 0x4c]
sub dword [ebx + 0x1c], 2
mov edx, 2
call fcn.00558278
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x48]
mov edx, 2
call fcn.00558278
pop ecx
test cl, cl
je 0x5577d7
jmp 0x557ae3
cmp dword [ebp - 0xf8], 0
jne 0x557838
mov word [ebx + 0x10], 0xd8
mov edi, dword [ebp - 0x100]
lea eax, [ebp - 0x50]
mov ecx, 0xffff
mov edx, edi
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x50]
mov eax, esi
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov edi, eax
lea eax, [ebp - 0x50]
mov edx, 2
call fcn.00558278
test edi, edi
jle 0x557838
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.00543e58
pop ecx
add eax, edi
dec eax
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0
jle 0x557a27
cmp dword [ebp - 0xf0], 0
jne 0x557a27
cmp dword [ebp - 0xf4], 0
jne 0x557a27
mov word [ebx + 0x10], 0xe4
mov edi, dword [ebp - 0xfc]
lea eax, [ebp - 0x54]
mov ecx, 0xffff
mov edx, edi
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x54]
mov eax, esi
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov edi, eax
lea eax, [ebp - 0x54]
mov edx, 2
call fcn.00558278
test edi, edi
jle 0x557a27
mov word [ebx + 0x10], 0xf0
xor ecx, ecx
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x58]
inc dword [ebx + 0x1c]
push ecx
inc dword [ebx + 0x1c]
mov eax, dword [ebp - 0xfc]
push eax
call fcn.00543e58
pop ecx
mov edx, eax
add edx, edi
mov ecx, 0x14
mov eax, esi
call fcn.005582f0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x28]
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x58]
mov edx, 2
call fcn.00558278
mov word [ebx + 0x10], 0xfc
mov edx, 0x579003
lea eax, [ebp - 0x5c]
mov ecx, 0xffff
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x28]
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov edi, eax
lea eax, [ebp - 0x5c]
mov edx, 2
call fcn.00558278
test edi, edi
jle 0x557a27
mov word [ebx + 0x10], 0x108
xor ecx, ecx
lea eax, [ebp - 0x28]
mov dword [ebp - 0x64], ecx
lea ecx, [ebp - 0x64]
inc dword [ebx + 0x1c]
push ecx
inc dword [ebx + 0x1c]
lea ecx, [edi - 1]
mov edx, 1
call fcn.005582f0
lea edx, [ebp - 0x64]
lea eax, [ebp - 0x28]
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x64]
mov edx, 2
call fcn.00558278
mov word [ebx + 0x10], 0x114
xor ecx, ecx
mov dword [ebp - 0x60], ecx
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x120
cmp dword [ebp - 0x28], 0
jne 0x55799c
mov ecx, 0x579009
jmp 0x55799f
mov ecx, dword [ebp - 0x28]
push ecx
push 0x579006
lea eax, [ebp - 0x60]
push eax
call fcn.00402e74
mov word [ebx + 0x10], 0x12c
xor edx, edx
add esp, 0xc
mov dword [ebp - 0x68], edx
lea edx, [ebp - 0x68]
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea eax, [ebp - 0x60]
call fcn.004067c0
lea edx, [ebp - 0x68]
lea eax, [ebp - 0x60]
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x68]
mov edx, 2
call fcn.004027dc
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0xd8]
call fcn.00556d48
cmp al, 1
jne 0x557a10
lea eax, [ebp - 0x60]
call fcn.00551f18
cdq
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], edx
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.004027dc
mov word [ebx + 0x10], 0x84
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 0x10], 0
je 0x557a65
cmp dword [esi], 0
je 0x557a3f
mov ecx, dword [esi]
mov eax, dword [ecx - 4]
jmp 0x557a41
xor eax, eax
sub eax, dword [ebp - 0xf8]
push eax
mov eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + 4]
push ecx
mov ecx, dword [ebp - 0xd8]
call dword [ecx + 0x10]
add esp, 0xc
cmp dword [ebp - 0xf0], 0
jne 0x557a79
cmp dword [ebp - 0xf4], 0
jne 0x557a79
jmp 0x557ae3
cmp dword [ebp - 0xf0], 0
jne 0x557a91
cmp dword [ebp - 0xf4], 0
jbe 0x557513
jmp 0x557a97
jle 0x557513
cmp dword [ebp - 0xf8], 0
jle 0x557513
cmp dword [esi], 0
je 0x557ab0
mov eax, dword [esi]
mov eax, dword [eax - 4]
jmp 0x557ab2
xor eax, eax
sub eax, dword [ebp - 0xf8]
cdq
cmp edx, dword [ebp - 0xf0]
jne 0x557acf
cmp eax, dword [ebp - 0xf4]
jb 0x557513
jmp 0x557ae3
jl 0x557513
jmp 0x557ae3
mov ecx, dword [ebp - 0xe0]
push ecx
call sub.WSOCK32.DLL_closesocket
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 0x14], 0
je 0x557b0f
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 4]
push edx
mov ecx, dword [ebp - 0xd8]
call dword [ecx + 0x14]
pop ecx
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 1], 1
jne 0x557b71
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 0x28]
sub dword [ebx + 0x1c], 2
call fcn.00558278
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 8]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 4]
mov edx, 2
call fcn.004027dc
pop eax
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x55826d
mov word [ebx + 0x10], 0x138
xor ecx, ecx
lea eax, [ebp - 0x70]
mov dword [ebp - 0x6c], ecx
xor ecx, ecx
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
mov edx, 1
mov word [ebx + 0x10], 0x144
mov word [ebx + 0x10], 0x150
mov dword [ebp - 0x70], ecx
inc dword [ebx + 0x1c]
push eax
inc dword [ebx + 0x1c]
mov eax, esi
mov ecx, dword [ebp - 0xf8]
call fcn.005582f0
lea edx, [ebp - 0x70]
lea eax, [ebp - 0x6c]
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x70]
mov edx, 2
call fcn.00558278
mov word [ebx + 0x10], 0x15c
mov edx, 0x57900a
lea eax, [ebp - 0x74]
mov ecx, 0xffff
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x74]
lea eax, [ebp - 0x6c]
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov edi, eax
lea eax, [ebp - 0x74]
mov edx, 2
call fcn.00558278
test edi, edi
jle 0x5581bd
mov word [ebx + 0x10], 0x168
xor ecx, ecx
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x78], ecx
lea ecx, [ebp - 0x78]
inc dword [ebx + 0x1c]
push ecx
inc dword [ebx + 0x1c]
lea ecx, [edi - 1]
mov edx, 1
call fcn.005582f0
lea edx, [ebp - 0x78]
lea eax, [ebp - 0x28]
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x78]
mov edx, 2
call fcn.00558278
mov word [ebx + 0x10], 0x174
mov edx, 0x57900d
lea eax, [ebp - 0x7c]
mov ecx, 0xffff
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x7c]
lea eax, [ebp - 0x28]
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov edi, eax
lea eax, [ebp - 0x7c]
mov edx, 2
call fcn.00558278
test edi, edi
jle 0x557ca7
mov eax, edi
lea edx, [ebp - 0x28]
mov ecx, edx
mov edi, eax
mov edx, 1
mov eax, ecx
mov ecx, edi
call fcn.00551cbc
mov word [ebx + 0x10], 0x180
mov edx, 0x57900f
lea eax, [ebp - 0x80]
mov ecx, 0xffff
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x80]
lea eax, [ebp - 0x28]
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov edi, eax
lea eax, [ebp - 0x80]
mov edx, 2
call fcn.00558278
test edi, edi
jle 0x557d04
cmp dword [ebp - 0x28], 0
mov eax, edi
je 0x557cf7
mov edx, dword [ebp - 0x28]
mov edx, dword [edx - 4]
jmp 0x557cf9
xor edx, edx
lea ecx, [ebp - 0x28]
xchg ecx, eax
xchg ecx, edx
call fcn.00551cbc
mov word [ebx + 0x10], 0x18c
mov edx, 0x579011
lea eax, [ebp - 0x84]
mov ecx, 0xffff
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x84]
lea eax, [ebp - 0x28]
call fcn.00551bc0
test al, al
jne 0x557d86
mov edx, 0x579015
lea eax, [ebp - 0x88]
mov ecx, 0xffff
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x88]
lea eax, [ebp - 0x28]
call fcn.00551bc0
test al, al
lea eax, [ebp - 0x88]
setne cl
and ecx, 1
mov edx, 2
push ecx
sub dword [ebx + 0x1c], 2
call fcn.00558278
pop ecx
test ecx, ecx
jne 0x557d86
xor ecx, ecx
jmp 0x557d8b
mov ecx, 1
push ecx
lea eax, [ebp - 0x84]
sub dword [ebx + 0x1c], 2
mov edx, 2
call fcn.00558278
pop ecx
test cl, cl
je 0x5581bd
mov dword [ebp - 0x104], 0x579019
mov word [ebx + 0x10], 0x144
mov word [ebx + 0x10], 0x198
mov edi, dword [ebp - 0x104]
lea eax, [ebp - 0x8c]
mov ecx, 0xffff
mov edx, edi
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x8c]
lea eax, [ebp - 0x6c]
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov edi, eax
lea eax, [ebp - 0x8c]
mov edx, 2
call fcn.00558278
test edi, edi
jle 0x5581bd
mov ecx, dword [ebp - 0x104]
push ecx
call fcn.00543e58
pop ecx
lea edx, [ebp - 0x6c]
mov ecx, edx
add eax, edi
xchg ecx, eax
mov edx, 1
call fcn.00551cbc
mov word [ebx + 0x10], 0x1a4
mov edx, 0x579023
lea eax, [ebp - 0x90]
mov ecx, 0xffff
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x90]
lea eax, [ebp - 0x6c]
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov edi, eax
lea eax, [ebp - 0x90]
mov edx, 2
call fcn.00558278
test edi, edi
jle 0x5581bd
cmp dword [ebp - 0x6c], 0
mov eax, edi
je 0x557e85
mov edx, dword [ebp - 0x6c]
mov edx, dword [edx - 4]
jmp 0x557e87
xor edx, edx
lea ecx, [ebp - 0x6c]
xchg ecx, eax
xchg ecx, edx
call fcn.00551cbc
mov word [ebx + 0x10], 0x1b0
mov edx, 0x579026
lea eax, [ebp - 0x9c]
mov ecx, 0xffff
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x9c]
lea eax, [ebp - 0x6c]
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov edi, eax
lea eax, [ebp - 0x9c]
mov edx, 2
call fcn.00558278
test edi, edi
jle 0x557ef3
lea eax, [edi + 2]
lea edx, [ebp - 0x6c]
mov ecx, edx
mov edi, eax
mov edx, 1
mov eax, ecx
mov ecx, edi
call fcn.00551cbc
mov word [ebx + 0x10], 0x1c8
mov edx, 0x57902a
lea eax, [ebp - 0x94]
xor ecx, ecx
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x1bc
mov word [ebx + 0x10], 0x1d4
mov edx, 0x57902b
lea eax, [ebp - 0x98]
xor ecx, ecx
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x1bc
mov word [ebx + 0x10], 0x1e0
mov edx, 0x57902c
lea eax, [ebp - 0xa0]
mov ecx, 0xffff
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0xa0]
lea eax, [ebp - 0x6c]
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov edi, eax
lea eax, [ebp - 0xa0]
mov edx, 2
call fcn.00558278
test edi, edi
jle 0x558068
mov word [ebx + 0x10], 0x1ec
xor ecx, ecx
lea eax, [ebp - 0x6c]
mov dword [ebp - 0xa4], ecx
lea ecx, [ebp - 0xa4]
inc dword [ebx + 0x1c]
push ecx
inc dword [ebx + 0x1c]
lea ecx, [edi - 1]
mov edx, 1
call fcn.005582f0
cmp dword [ebp - 0xa4], 0
jne 0x557fc3
mov ecx, 0x579031
jmp 0x557fc9
mov ecx, dword [ebp - 0xa4]
push ecx
push 0x57902e
lea eax, [ebp - 0x94]
push eax
call fcn.00402e74
add esp, 0xc
lea eax, [ebp - 0xa4]
sub dword [ebx + 0x1c], 2
mov edx, 2
call fcn.00558278
mov word [ebx + 0x10], 0x1f8
xor ecx, ecx
mov dword [ebp - 0xa8], ecx
lea ecx, [ebp - 0xa8]
inc dword [ebx + 0x1c]
push ecx
inc dword [ebx + 0x1c]
cmp dword [ebp - 0x6c], 0
je 0x55801b
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax - 4]
jmp 0x55801d
xor ecx, ecx
lea eax, [ebp - 0x6c]
mov edx, edi
call fcn.005582f0
cmp dword [ebp - 0xa8], 0
jne 0x558037
mov ecx, 0x579035
jmp 0x55803d
mov ecx, dword [ebp - 0xa8]
push ecx
push 0x579032
lea eax, [ebp - 0x98]
push eax
call fcn.00402e74
add esp, 0xc
lea eax, [ebp - 0xa8]
sub dword [ebx + 0x1c], 2
mov edx, 2
call fcn.00558278
jmp 0x5580d0
cmp dword [ebp - 0x6c], 0
jne 0x558075
mov ecx, 0x579039
jmp 0x558078
mov ecx, dword [ebp - 0x6c]
push ecx
push 0x579036
lea eax, [ebp - 0x94]
push eax
call fcn.00402e74
add esp, 0xc
mov word [ebx + 0x10], 0x204
mov edx, 0x57903a
lea eax, [ebp - 0xac]
xor ecx, ecx
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0xac]
lea eax, [ebp - 0x98]
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0xac]
mov edx, 2
call fcn.004027dc
mov word [ebx + 0x10], 0x210
mov edx, 0x57903c
lea eax, [ebp - 0xb0]
mov ecx, 0xffff
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0xb0]
mov eax, esi
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0xb0]
mov edx, 2
call fcn.00558278
push esi
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0xd8]
call fcn.00556f4c
push eax
lea eax, [ebp - 0x98]
sub dword [ebx + 0x1c], 2
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x94]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x6c]
mov edx, 2
call fcn.00558278
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.00558278
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 8]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 4]
mov edx, 2
call fcn.004027dc
pop eax
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x55826d
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x6c]
mov edx, 2
call fcn.00558278
mov word [ebx + 0x10], 0x84
mov al, 1
mov edx, 2
push eax
lea eax, [ebp - 0x28]
sub dword [ebx + 0x1c], 2
call fcn.00558278
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 8]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 4]
mov edx, 2
call fcn.004027dc
pop eax
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x55826d
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 0xc]
sub dword [ebx + 0x1c], 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 8]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 4]
mov edx, 2
call fcn.004027dc
pop eax
mov edx, dword [ebx]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4