Function at 0x40794f
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 0x14
call fcn.0042d262
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
push 0x6c
call fcn.0042d262
add esp, 4
mov dword [ebp - 0x20], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x1b
rep stosd dword es:[edi], eax
add ebx, 0x68
push ebx
push 0x88
call fcn.0042d262
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4bacf2
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x20
rep stosd dword es:[edi], eax
mov dword [ebp - 0x24], 0
push 8
call fcn.0042d262
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x4b5f7d
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x2c], 0
push 8
call fcn.0042d262
add esp, 4
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, 0x4b5f7d
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov ebx, dword [0x4ff6d4]
call fcn.004010d3
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x40aa07
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x40aa04
cmp dword [ebp - 4], 1
jne 0x407a8c
mov eax, str.ntdll.dll
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x407a83
push ebx
call fcn.0042d25c
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x407ae3
cmp dword [ebp - 4], 2
jne 0x407ab5
mov eax, 0x4bacdd
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x407aac
push ebx
call fcn.0042d25c
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x407ae3
cmp dword [ebp - 4], 3
jne 0x407ade
mov eax, str.gdi32.dll
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x407ad5
push ebx
call fcn.0042d25c
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x407ae3
jmp 0x40aa07
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 1
lea eax, [ebp - 8]
push eax
call fcn.0040ab52
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x40], 0
push 0
lea eax, [ebp - 0x40]
push eax
call fcn.0040ba09
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x407b31
push ebx
call fcn.0042d25c
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407b41
push ebx
call fcn.0042d25c
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x407b55
push ebx
call fcn.0042d25c
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.0040bb1e
mov dword [ebp - 0x3c], eax
push dword [ebp - 8]
push 0x4b5f08
push dword [ebp - 0x3c]
mov ecx, 3
call fcn.0040106f
add esp, 0xc
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407b8c
push ebx
call fcn.0042d25c
add esp, 4
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x40]
mov eax, 8
call fcn.0042d26e
cmp dword [ebp - 0x44], esp
je 0x407bb6
push 6
call fcn.0042d268
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x407bc6
push ebx
call fcn.0042d25c
add esp, 4
push getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x407bd9
mov eax, 0x4b5f0a
push eax
push 1
mov ebx, 0x42f9f0
call fcn.0042d274
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x407c03
push ebx
call fcn.0042d25c
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.004073e4
mov dword [ebp - 0x1c], eax
push getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x407c26
mov eax, 0x4b5f0a
push eax
push 1
mov ebx, 0x42f9b0
call fcn.0042d274
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.0040bbc5
test eax, eax
je 0x407c6f
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x407c6f
mov eax, 1
jmp 0x407c74
mov eax, 0
test eax, eax
je 0x40a9fd
mov dword [ebp - 0x24], 0
mov ebx, dword [ebp - 0x20]
add ebx, 0x3c
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov dword [ebp - 0x44], 0
push 0
push dword [ebp - 0x44]
mov dword [ebp - 0x48], 0
push 0
push dword [ebp - 0x48]
mov dword [ebp - 0x4c], 0
push 0
push dword [ebp - 0x4c]
push 0x2000
push 0x1000
call fcn.0040bf5c
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], esp
push 0x40
push dword [ebp - 0x50]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push 0
push 0xffffffff
mov eax, 9
call fcn.0042d26e
cmp dword [ebp - 0x54], esp
je 0x407d04
push 6
call fcn.0042d268
add esp, 4
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
add ebx, 0x40
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push dword [ebp - 0x1c]
push dword [ebp - 0x24]
call fcn.0040bf7f
push 8
call fcn.0042d262
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x4b5f7d
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x1c]
call fcn.0040c029
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0042d25c
add esp, 4
mov eax, dword [ebp - 0x40]
xor ecx, ecx
push eax
lea eax, [ebp - 0x2c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x407e95
mov ebx, dword [ebp - 0x28]
call fcn.004010ec
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407d9f
push 4
call fcn.0042d268
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407db2
push 1
call fcn.0042d268
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push dword [ebp - 0x24]
call fcn.00406ce8
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x28]
call fcn.004010ec
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407df8
push 4
call fcn.0042d268
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407e0b
push 1
call fcn.0042d268
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x4c], 0
push 0
push dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x48]
push dword [ebx]
push dword [ebp - 0x1c]
call fcn.00406ce8
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x28]
call fcn.004010ec
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407e51
push 4
call fcn.0042d268
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407e64
push 1
call fcn.0042d268
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], 0
push 0
push dword [ebp - 0x58]
mov ebx, dword [ebp - 0x54]
push dword [ebx]
push dword [ebp - 0x50]
push dword [ebp - 0x44]
call fcn.0040bf7f
pop eax
pop ebx
pop ecx
jmp 0x407d74
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.0040c5b4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x407ec3
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x407ebf
imul eax, dword [ebx]
jmp 0x407eb4
mov ecx, eax
test ecx, ecx
je 0x407eeb
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0042d25c
add esp, 4
pop ebx
call fcn.0042d25c
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x407ec9
call fcn.0042d25c
add esp, 4
mov eax, 0x4b5f7d
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.0040d337
xor ecx, ecx
push eax
lea eax, [ebp - 0x2c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40a9e1
cmp dword [ebp - 4], 1
jne 0x40803a
mov ebx, dword [ebp - 0x30]
call fcn.004010ec
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407f45
push 4
call fcn.0042d268
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407f58
push 1
call fcn.0042d268
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 1
push getpeername
push 0
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebx]
test eax, eax
jne 0x407f86
mov eax, 0x4b5f0a
push eax
push 2
mov ebx, 0x42dcb0
call fcn.0042d274
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x408028
mov ebx, dword [ebp - 0x30]
call fcn.004010ec
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407fc3
push 4
call fcn.0042d268
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407fd6
push 1
call fcn.0042d268
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push getpeername
push 0
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
test eax, eax
jne 0x408004
mov eax, 0x4b5f0a
push eax
push 2
mov ebx, 0x42dcb0
call fcn.0042d274
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x408028
xor eax, eax
jmp 0x40802d
mov eax, 1
test eax, eax
je 0x40803a
jmp 0x40a9d9
mov ebx, dword [ebp - 0x30]
call fcn.004010ec
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x408057
push 4
call fcn.0042d268
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40806a
push 1
call fcn.0042d268
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x3c], ebx
push 8
call fcn.0042d262
add esp, 4
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, 0x4b5f7d
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x40]
push eax
push 0x20
lea eax, [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
call fcn.0040de49
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.0042d25c
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x4080fa
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0
cmp eax, ecx
jl 0x4080e2
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x4080fa
mov eax, 1
jmp 0x4080ff
mov eax, 0
test eax, eax
je 0x40a9d9
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x30]
call fcn.004010ec
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x40812d
push 4
call fcn.0042d268
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x408140
push 1
call fcn.0042d268
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebx]
test eax, eax
je 0x40816b
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x3c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40817e
push ebx
call fcn.0042d25c
add esp, 4
pop eax
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4081ca
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x4081fe
and eax, 0xff
jmp 0x408249
cmp ecx, 0x80000201
jne 0x408209
cwde
jmp 0x408249
cmp ecx, 0x80000301
je 0x408249
cmp ecx, 0x80000401
je 0x408249
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408239
cmp ecx, 0x80000601
je 0x40823e
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x408244
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x4ff6d8]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x408285
mov ebx, dword [0x4ff6d8]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x408285
mov eax, 1
jmp 0x40828a
mov eax, 0
test eax, eax
je 0x408967
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 9
cmp eax, ecx
jl 0x4082b0
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x4082f7
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xa
cmp eax, ecx
jl 0x4082df
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x4082f7
mov eax, 1
jmp 0x4082fc
mov eax, 0
test eax, eax
je 0x408962
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xb
cmp eax, ecx
jl 0x408322
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4084a6
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x408367
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40839b
and eax, 0xff
jmp 0x4083e6
cmp ecx, 0x80000201
jne 0x4083a6
cwde
jmp 0x4083e6
cmp ecx, 0x80000301
je 0x4083e6
cmp ecx, 0x80000401
je 0x4083e6
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4083d6
cmp ecx, 0x80000601
je 0x4083db
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4083e1
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408432
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40848e
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xb
cmp eax, ecx
jl 0x4084c4
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x408590
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40851c
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x408578
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xb
cmp eax, ecx
jl 0x4085ae
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x408962
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.00406ce8
mov dword [ebp - 0x38], eax
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x408606
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x48], 0
push 0
push dword [ebp - 0x48]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
cmp ecx, 0x80000101
jne 0x408646
and eax, 0xff
jmp 0x408691
cmp ecx, 0x80000201
jne 0x408651
cwde
jmp 0x408691
cmp ecx, 0x80000301
je 0x408691
cmp ecx, 0x80000401
je 0x408691
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408681
cmp ecx, 0x80000601
je 0x408686
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x40868c
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
push eax
push dword [ebp - 0x38]
call fcn.00406ce8
mov dword [ebp - 0x38], eax
push 8
call fcn.0042d262
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x4b5f7d
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x3c]
push eax
push 0x20
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x38]
call fcn.0040de49
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0042d25c
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0
cmp eax, ecx
jl 0x4086f9
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40887d
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40873e
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x408772
and eax, 0xff
jmp 0x4087bd
cmp ecx, 0x80000201
jne 0x40877d
cwde
jmp 0x4087bd
cmp ecx, 0x80000301
je 0x4087bd
cmp ecx, 0x80000401
je 0x4087bd
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4087ad
cmp ecx, 0x80000601
je 0x4087b2
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x4087b8
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408809
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x408865
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0
cmp eax, ecx
jl 0x40889b
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x408962
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4088f3
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40894f
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
jmp 0x40a9d9
mov ebx, dword [0x4ff6d8]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0
je 0x40a284
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 5
cmp eax, ecx
jl 0x4089af
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x408a25
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 6
cmp eax, ecx
jl 0x4089de
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x408a25
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 8
cmp eax, ecx
jl 0x408a0d
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x408a25
mov eax, 1
jmp 0x408a2a
mov eax, 0
test eax, eax
je 0x408cb9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xc
cmp eax, ecx
jl 0x408a50
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408bd4
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xe
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x408a95
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x408ac9
and eax, 0xff
jmp 0x408b14
cmp ecx, 0x80000201
jne 0x408ad4
cwde
jmp 0x408b14
cmp ecx, 0x80000301
je 0x408b14
cmp ecx, 0x80000401
je 0x408b14
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408b04
cmp ecx, 0x80000601
je 0x408b09
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x408b0f
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408b60
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x408bbc
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xc
cmp eax, ecx
jl 0x408bf2
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x408cb9
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408c4a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x408ca6
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 5
cmp eax, ecx
jl 0x408cd7
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x408d4d
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 7
cmp eax, ecx
jl 0x408d06
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x408d4d
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xb
cmp eax, ecx
jl 0x408d35
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x408d4d
mov eax, 1
jmp 0x408d52
mov eax, 0
test eax, eax
je 0x4091c3
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x12
cmp eax, ecx
jl 0x408d78
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x408dbc
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x15
cmp eax, ecx
jl 0x408da7
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x408dbc
xor eax, eax
jmp 0x408dc1
mov eax, 1
test eax, eax
je 0x408e84
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408e10
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x408e6c
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x12
cmp eax, ecx
jl 0x408ea2
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x409026
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x14
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x408ee7
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x408f1b
and eax, 0xff
jmp 0x408f66
cmp ecx, 0x80000201
jne 0x408f26
cwde
jmp 0x408f66
cmp ecx, 0x80000301
je 0x408f66
cmp ecx, 0x80000401
je 0x408f66
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408f56
cmp ecx, 0x80000601
je 0x408f5b
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x408f61
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408fb2
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40900e
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x15
cmp eax, ecx
jl 0x409044
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4091c3
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x409089
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x4090bd
and eax, 0xff
jmp 0x409108
cmp ecx, 0x80000201
jne 0x4090c8
cwde
jmp 0x409108
cmp ecx, 0x80000301
je 0x409108
cmp ecx, 0x80000401
je 0x409108
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4090f8
cmp ecx, 0x80000601
je 0x4090fd
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x409103
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x409154
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4091b0
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 5
cmp eax, ecx
jl 0x4091e1
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x409257
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 9
cmp eax, ecx
jl 0x409210
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x409257
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xb
cmp eax, ecx
jl 0x40923f
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x409257
mov eax, 1
jmp 0x40925c
mov eax, 0
test eax, eax
je 0x4096cd
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x12
cmp eax, ecx
jl 0x409282
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x4092c6
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x15
cmp eax, ecx
jl 0x4092b1
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x4092c6
xor eax, eax
jmp 0x4092cb
mov eax, 1
test eax, eax
je 0x40938e
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40931a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x409376
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x12
cmp eax, ecx
jl 0x4093ac
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x409530
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x14
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4093f1
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x409425
and eax, 0xff
jmp 0x409470
cmp ecx, 0x80000201
jne 0x409430
cwde
jmp 0x409470
cmp ecx, 0x80000301
je 0x409470
cmp ecx, 0x80000401
je 0x409470
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409460
cmp ecx, 0x80000601
je 0x409465
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x40946b
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4094bc
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x409518
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x15
cmp eax, ecx
jl 0x40954e
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4096cd
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x409593
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x4095c7
and eax, 0xff
jmp 0x409612
cmp ecx, 0x80000201
jne 0x4095d2
cwde
jmp 0x409612
cmp ecx, 0x80000301
je 0x409612
cmp ecx, 0x80000401
je 0x409612
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409602
cmp ecx, 0x80000601
je 0x409607
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x40960d
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40965e
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4096ba
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 5
cmp eax, ecx
jl 0x4096eb
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x409761
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xa
cmp eax, ecx
jl 0x40971a
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x409761
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xe
cmp eax, ecx
jl 0x409749
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x409761
mov eax, 1
jmp 0x409766
mov eax, 0
test eax, eax
je 0x409ca6
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 7
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4097a2
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x4097d6
and eax, 0xff
jmp 0x409821
cmp ecx, 0x80000201
jne 0x4097e1
cwde
jmp 0x409821
cmp ecx, 0x80000301
je 0x409821
cmp ecx, 0x80000401
je 0x409821
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409811
cmp ecx, 0x80000601
je 0x409816
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x40981c
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x15
cmp eax, ecx
jl 0x409844
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x409888
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x18
cmp eax, ecx
jl 0x409873
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x409888
xor eax, eax
jmp 0x40988d
mov eax, 1
test eax, eax
je 0x409950
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4098dc
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x409938
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x15
cmp eax, ecx
jl 0x40996e
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x409af2
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4099b3
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x4099e7
and eax, 0xff
jmp 0x409a32
cmp ecx, 0x80000201
jne 0x4099f2
cwde
jmp 0x409a32
cmp ecx, 0x80000301
je 0x409a32
cmp ecx, 0x80000401
je 0x409a32
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409a22
cmp ecx, 0x80000601
je 0x409a27
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x409a2d
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x409a7e
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x409ada
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x18
cmp eax, ecx
jl 0x409b10
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x409c94
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x1a
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x409b55
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x409b89
and eax, 0xff
jmp 0x409bd4
cmp ecx, 0x80000201
jne 0x409b94
cwde
jmp 0x409bd4
cmp ecx, 0x80000301
je 0x409bd4
cmp ecx, 0x80000401
je 0x409bd4
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409bc4
cmp ecx, 0x80000601
je 0x409bc9
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x409bcf
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x409c20
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x409c7c
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 5
cmp eax, ecx
jl 0x409cc4
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x409d3a
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 9
cmp eax, ecx
jl 0x409cf3
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x409d3a
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xe
cmp eax, ecx
jl 0x409d22
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x409d3a
mov eax, 1
jmp 0x409d3f
mov eax, 0
test eax, eax
je 0x40a27f
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xb
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x409d7b
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x409daf
and eax, 0xff
jmp 0x409dfa
cmp ecx, 0x80000201
jne 0x409dba
cwde
jmp 0x409dfa
cmp ecx, 0x80000301
je 0x409dfa
cmp ecx, 0x80000401
je 0x409dfa
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409dea
cmp ecx, 0x80000601
je 0x409def
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x409df5
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x15
cmp eax, ecx
jl 0x409e1d
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x409e61
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x18
cmp eax, ecx
jl 0x409e4c
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x409e61
xor eax, eax
jmp 0x409e66
mov eax, 1
test eax, eax
je 0x409f29
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x409eb5
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x409f11
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x15
cmp eax, ecx
jl 0x409f47
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40a0cb
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x409f8c
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x409fc0
and eax, 0xff
jmp 0x40a00b
cmp ecx, 0x80000201
jne 0x409fcb
cwde
jmp 0x40a00b
cmp ecx, 0x80000301
je 0x40a00b
cmp ecx, 0x80000401
je 0x40a00b
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409ffb
cmp ecx, 0x80000601
je 0x40a000
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x40a006
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40a057
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40a0b3
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0x18
cmp eax, ecx
jl 0x40a0e9
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40a26d
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x1a
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40a12e
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40a162
and eax, 0xff
jmp 0x40a1ad
cmp ecx, 0x80000201
jne 0x40a16d
cwde
jmp 0x40a1ad
cmp ecx, 0x80000301
je 0x40a1ad
cmp ecx, 0x80000401
je 0x40a1ad
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40a19d
cmp ecx, 0x80000601
je 0x40a1a2
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x40a1a8
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40a1f9
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40a255
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 5
cmp eax, ecx
jl 0x40a2a2
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x40a671
push 0x80000301
push 0
push 7
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40a2de
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
cmp ecx, 0x80000101
jne 0x40a312
and eax, 0xff
jmp 0x40a35d
cmp ecx, 0x80000201
jne 0x40a31d
cwde
jmp 0x40a35d
cmp ecx, 0x80000301
je 0x40a35d
cmp ecx, 0x80000401
je 0x40a35d
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x40a34d
cmp ecx, 0x80000601
je 0x40a352
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x4c]
jmp 0x40a358
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.004018ac
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x40a37b
cmp dword [ebp - 0x38], 0xa
jge 0x40a37b
mov eax, 1
jmp 0x40a380
mov eax, 0
test eax, eax
je 0x40a66c
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.00406ce8
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
push ebx
push ecx
mov eax, dword [ebp - 0x38]
dec eax
jns 0x40a3c1
push 4
call fcn.0042d268
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a3d4
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x40a66c
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xa
cmp eax, ecx
jl 0x40a403
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40a587
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xc
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40a448
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40a47c
and eax, 0xff
jmp 0x40a4c7
cmp ecx, 0x80000201
jne 0x40a487
cwde
jmp 0x40a4c7
cmp ecx, 0x80000301
je 0x40a4c7
cmp ecx, 0x80000401
je 0x40a4c7
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40a4b7
cmp ecx, 0x80000601
je 0x40a4bc
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x40a4c2
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40a513
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40a56f
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xa
cmp eax, ecx
jl 0x40a5a5
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x40a66c
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40a5fd
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40a659
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 5
cmp eax, ecx
jl 0x40a68f
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x40a6d6
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xa
cmp eax, ecx
jl 0x40a6be
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x40a6d6
mov eax, 1
jmp 0x40a6db
mov eax, 0
test eax, eax
je 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xb
cmp eax, ecx
jl 0x40a701
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x40a745
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xb
cmp eax, ecx
jl 0x40a730
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x40a745
xor eax, eax
jmp 0x40a74a
mov eax, 1
test eax, eax
je 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xc
cmp eax, ecx
jl 0x40a770
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40a8f4
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xe
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40a7b5
mov eax, 0x4b5f7d
push eax
push 3
mov ebx, 0x42ed20
call fcn.0042d274
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40a7e9
and eax, 0xff
jmp 0x40a834
cmp ecx, 0x80000201
jne 0x40a7f4
cwde
jmp 0x40a834
cmp ecx, 0x80000301
je 0x40a834
cmp ecx, 0x80000401
je 0x40a834
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40a824
cmp ecx, 0x80000601
je 0x40a829
push 2
call fcn.0042d268
add esp, 4
fld dword [ebp - 0x50]
jmp 0x40a82f
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004018ac
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40a880
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40a8dc
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
mov ebx, dword [ebp - 0x34]
call fcn.004010ec
mov eax, 0xc
cmp eax, ecx
jl 0x40a912
push 1
call fcn.0042d268
add esp, 4
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x40a9d9
push 0x4ff6d4
push 4
mov eax, 2
call fcn.0042d256
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4ff6d4]
mov dword [ebp - 0x40], ebx
call fcn.004010ec
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40a96a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0042d27a
add esp, 8
mov dword [0x4ff6d4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0042d262
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40a9c6
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0042d262
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40a9d9
pop eax
pop ebx
pop ecx
jmp 0x407f10
add esp, 0xc
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x24]
push 0xffffffff
call fcn.0040df43
pop ebx
pop ecx
jmp 0x407a55
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40aa17
push ebx
call fcn.0042d25c
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40aa2e
push ebx
call fcn.0042d25c
add esp, 4
pop ebx
call fcn.0042d25c
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40aa47
push ebx
call fcn.0042d25c
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40aa57
push ebx
call fcn.0042d25c
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0042d25c
add esp, 4
pop ebx
call fcn.0042d25c
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40aa91
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40aa8d
imul eax, dword [ebx]
jmp 0x40aa82
mov ecx, eax
test ecx, ecx
je 0x40aab9
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0042d25c
add esp, 4
pop ebx
call fcn.0042d25c
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40aa97
call fcn.0042d25c
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40aadf
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40aadb
imul eax, dword [ebx]
jmp 0x40aad0
mov ecx, eax
test ecx, ecx
je 0x40ab36
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40aafd
push ebx
call fcn.0042d25c
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ab11
push ebx
call fcn.0042d25c
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ab25
push ebx
call fcn.0042d25c
add esp, 4
pop ebx
call fcn.0042d25c
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40aae5
call fcn.0042d25c
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x40ab4e
push ebx
call fcn.0042d25c
add esp, 4
mov esp, ebp
pop ebp
ret