Function at 0x428040
Capabilities:
Get file size
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x32944
call fcn.0045d5a0
mov eax, dword [0x481a58]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x12818], 0x40000
jmp 0x428074
mov eax, dword [ebp - 0x12818]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x12818], eax
cmp dword [ebp - 0x12818], 0
jle 0x4280a2
push 4
lea eax, [ebp - 0x12818]
push eax
push 0x1001
push 0xffff
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jne 0x4280a0
jmp 0x4280a2
jmp 0x428063
mov edx, dword [ebp + 8]
mov dword [edx + 0x878], 0
mov dword [ebp - 0x12898], 0xc
mov dword [ebp - 0x12894], 0
mov dword [ebp - 0x12890], 0
push 0
push 0
push 3
lea eax, [ebp - 0x12898]
push eax
push 3
push 0x80000000
mov ecx, dword [ebp + 8]
add ecx, 0x42d
push ecx
call fcn.00436ca0
add esp, 0x1c
mov dword [ebp - 0x12814], eax
cmp dword [ebp - 0x12814], 0xffffffff
je 0x4296e3
mov dword [ebp - 0x128ec], 0
mov edx, dword [ebp + 8]
cmp dword [edx + 0x874], 0
je 0x428224
lea eax, [ebp - 0x1281c]
push eax
mov ecx, dword [ebp - 0x12814]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x12828], eax
mov edx, dword [ebp - 0x12828]
push edx
mov eax, dword [ebp - 0x1281c]
push eax
call fcn.0043ec00
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x838], eax
mov dword [ecx + 0x83c], edx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x840]
mov edx, dword [edx + 0x844]
mov cl, 0x20
call fcn.0045ee30
and edx, 0
mov dword [ebp - 0x1281c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x840]
mov edx, dword [eax + 0x844]
and edx, 0
mov dword [ebp - 0x12828], ecx
push 0
lea eax, [ebp - 0x1281c]
push eax
mov ecx, dword [ebp - 0x12828]
push ecx
mov edx, dword [ebp - 0x12814]
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x87c]
mov dword [ecx*8 + 0x486278], 0
mov dword [ecx*8 + 0x48627c], 0
push 0
call fcn.0045b291
add esp, 4
mov dword [ebp - 0x32908], eax
mov dword [ebp - 0x32904], edx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x87c]
mov ecx, dword [ebp - 0x32908]
mov dword [eax*8 + 0x486298], ecx
mov edx, dword [ebp - 0x32904]
mov dword [eax*8 + 0x48629c], edx
push 0
push 0x1f4
push 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x874]
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
lea edx, [ebp - 0x12888]
push edx
call fcn.00409fd0
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x85c]
mov dword [ebp - 0x12880], ecx
lea edx, [ebp - 0x12840]
push edx
call 0x409e40
add esp, 4
lea eax, [ebp - 0x128e8]
push eax
call fcn.00409fd0
add esp, 4
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x85c]
mov dword [ebp - 0x128e0], edx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x878], 0
jne 0x428e7e
cmp dword [0x4886ec], 0
jne 0x428e7e
push 0
lea ecx, [ebp - 0x12820]
push ecx
push 0x8000
lea edx, [ebp - 0xa808]
push edx
mov eax, dword [ebp - 0x12814]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, 1
jne 0x428e7e
cmp dword [ebp - 0x12820], 0
jne 0x4282c5
jmp 0x428e7e
mov dword [ebp - 0x1288c], 0
cmp dword [0x48d46c], 1
jne 0x42831f
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x830], 0x41
jne 0x42831f
mov edx, dword [ebp - 0x12820]
push edx
push 0x1a
lea eax, [ebp - 0xa808]
push eax
call fcn.0045d4f0
add esp, 0xc
mov dword [ebp - 0x1288c], eax
cmp dword [ebp - 0x1288c], 0
je 0x42831f
mov ecx, dword [ebp - 0x1288c]
lea edx, [ebp - 0xa808]
sub ecx, edx
mov dword [ebp - 0x12820], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x854], 0xffffffff
je 0x428da1
lea ecx, [ebp - 0xa808]
mov dword [ebp - 0x12888], ecx
mov edx, dword [ebp - 0x12820]
mov dword [ebp - 0x12884], edx
lea eax, [ebp - 0x12810]
mov dword [ebp - 0x1287c], eax
mov dword [ebp - 0x12878], 0x8003
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x858]
mov dword [ebp - 0x32914], edx
cmp dword [ebp - 0x32914], 6
ja case.0x42837f.3
mov eax, dword [ebp - 0x32914]
jmp dword [eax*4 + 0x4297dc]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x854]
mov dword [ebp - 0x32918], edx
cmp dword [ebp - 0x32918], 6
ja case.0x4283a8.3
mov eax, dword [ebp - 0x32918]
jmp dword [eax*4 + 0x4297f8]
lea ecx, [ebp - 0x12888]
push ecx
call fcn.0040ae20
add esp, 4
mov dword [ebp - 0x1289c], eax
mov edx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], edx
mov eax, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], eax
lea ecx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], ecx
mov dword [ebp - 0x128d8], 0x2000c
lea edx, [ebp - 0x128e8]
push edx
call fcn.0040a3b0
add esp, 4
jmp case.0x4283a8.3
lea eax, [ebp - 0x12888]
push eax
call fcn.0040ae20
add esp, 4
mov dword [ebp - 0x1289c], eax
mov ecx, dword [ebp - 0x12874]
push ecx
mov edx, dword [ebp - 0x1287c]
push edx
lea eax, [ebp - 0x32900]
push eax
call fcn.0045a980
add esp, 0xc
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], ecx
jmp case.0x4283a8.3
lea edx, [ebp - 0x12888]
push edx
call fcn.0040aae0
add esp, 4
mov dword [ebp - 0x1289c], eax
mov eax, dword [ebp - 0x12874]
push eax
mov ecx, dword [ebp - 0x1287c]
push ecx
lea edx, [ebp - 0x32900]
push edx
call fcn.0045a980
add esp, 0xc
mov eax, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], eax
jmp case.0x4283a8.3
lea ecx, [ebp - 0x12888]
push ecx
call fcn.0040bd10
add esp, 4
mov dword [ebp - 0x1289c], eax
mov edx, dword [ebp - 0x12874]
push edx
mov eax, dword [ebp - 0x1287c]
push eax
lea ecx, [ebp - 0x32900]
push ecx
call fcn.0045a980
add esp, 0xc
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], edx
jmp case.0x4283a8.3
cmp dword [ebp - 0x128ec], 0
jne 0x42850b
push 3
push 0x4758b4
lea eax, [ebp - 0x32900]
push eax
call fcn.0045a980
add esp, 0xc
mov dword [ebp - 0x128d4], 3
mov dword [ebp - 0x1289c], 1
mov dword [ebp - 0x128ec], 1
jmp case.0x4283a8.3
lea ecx, [ebp - 0x12888]
push ecx
call fcn.0040bd10
add esp, 4
mov dword [ebp - 0x1289c], eax
mov edx, dword [ebp - 0x12874]
push edx
mov eax, dword [ebp - 0x1287c]
push eax
lea ecx, [ebp - 0x32900]
push ecx
call fcn.0045a980
add esp, 0xc
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], edx
jmp case.0x42837f.3
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x854]
mov dword [ebp - 0x3291c], ecx
cmp dword [ebp - 0x3291c], 6
ja case.0x428570.3
mov edx, dword [ebp - 0x3291c]
jmp dword [edx*4 + 0x429814]
lea eax, [ebp - 0x12888]
push eax
call fcn.0040a3b0
add esp, 4
mov dword [ebp - 0x1289c], eax
mov ecx, dword [ebp - 0x12874]
push ecx
mov edx, dword [ebp - 0x1287c]
push edx
lea eax, [ebp - 0x32900]
push eax
call fcn.0045a980
add esp, 0xc
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], ecx
jmp case.0x428570.3
lea edx, [ebp - 0x12888]
push edx
call fcn.0040a3b0
add esp, 4
mov dword [ebp - 0x1289c], eax
mov eax, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], eax
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], ecx
lea edx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], edx
mov dword [ebp - 0x128d8], 0x2000c
lea eax, [ebp - 0x128e8]
push eax
call fcn.0040ae20
add esp, 4
jmp case.0x428570.3
lea ecx, [ebp - 0x12888]
push ecx
call fcn.0040a3b0
add esp, 4
mov dword [ebp - 0x1289c], eax
mov edx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], edx
mov eax, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], eax
lea ecx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], ecx
mov dword [ebp - 0x128d8], 0x2000c
lea edx, [ebp - 0x128e8]
push edx
call fcn.0040aae0
add esp, 4
jmp case.0x428570.3
lea eax, [ebp - 0x12888]
push eax
call fcn.0040a3b0
add esp, 4
mov dword [ebp - 0x1289c], eax
mov ecx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], ecx
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], edx
lea eax, [ebp - 0x32900]
mov dword [ebp - 0x128dc], eax
mov dword [ebp - 0x128d8], 0x2000c
lea ecx, [ebp - 0x128e8]
push ecx
call fcn.0040bd10
add esp, 4
jmp case.0x428570.3
cmp dword [ebp - 0x128ec], 0
jne 0x4286fe
push 3
push 0x4758b4
lea edx, [ebp - 0x32900]
push edx
call fcn.0045a980
add esp, 0xc
mov dword [ebp - 0x128d4], 3
mov dword [ebp - 0x1289c], 1
mov dword [ebp - 0x128ec], 1
jmp case.0x428570.3
lea eax, [ebp - 0x12888]
push eax
call fcn.0040a3b0
add esp, 4
mov dword [ebp - 0x1289c], eax
mov ecx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], ecx
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], edx
lea eax, [ebp - 0x32900]
mov dword [ebp - 0x128dc], eax
mov dword [ebp - 0x128d8], 0x2000c
lea ecx, [ebp - 0x128e8]
push ecx
call fcn.0040bd10
add esp, 4
jmp case.0x42837f.3
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x854]
mov dword [ebp - 0x32920], eax
cmp dword [ebp - 0x32920], 6
ja case.0x428777.3
mov ecx, dword [ebp - 0x32920]
jmp dword [ecx*4 + 0x429830]
lea edx, [ebp - 0x12888]
push edx
call fcn.0040a100
add esp, 4
mov dword [ebp - 0x1289c], eax
mov eax, dword [ebp - 0x12874]
push eax
mov ecx, dword [ebp - 0x1287c]
push ecx
lea edx, [ebp - 0x32900]
push edx
call fcn.0045a980
add esp, 0xc
mov eax, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], eax
jmp case.0x428777.3
lea ecx, [ebp - 0x12888]
push ecx
call fcn.0040a100
add esp, 4
mov dword [ebp - 0x1289c], eax
mov edx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], edx
mov eax, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], eax
lea ecx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], ecx
mov dword [ebp - 0x128d8], 0x2000c
lea edx, [ebp - 0x128e8]
push edx
call fcn.0040ae20
add esp, 4
jmp case.0x428777.3
lea eax, [ebp - 0x12888]
push eax
call fcn.0040a100
add esp, 4
mov dword [ebp - 0x1289c], eax
mov ecx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], ecx
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], edx
lea eax, [ebp - 0x32900]
mov dword [ebp - 0x128dc], eax
mov dword [ebp - 0x128d8], 0x2000c
lea ecx, [ebp - 0x128e8]
push ecx
call fcn.0040aae0
add esp, 4
jmp case.0x428777.3
lea edx, [ebp - 0x12888]
push edx
call fcn.0040a100
add esp, 4
mov dword [ebp - 0x1289c], eax
mov eax, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], eax
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], ecx
lea edx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], edx
mov dword [ebp - 0x128d8], 0x2000c
lea eax, [ebp - 0x128e8]
push eax
call fcn.0040bd10
add esp, 4
jmp case.0x428777.3
cmp dword [ebp - 0x128ec], 0
jne 0x428905
push 3
push 0x4758b4
lea ecx, [ebp - 0x32900]
push ecx
call fcn.0045a980
add esp, 0xc
mov dword [ebp - 0x128d4], 3
mov dword [ebp - 0x1289c], 1
mov dword [ebp - 0x128ec], 1
jmp case.0x428777.3
lea edx, [ebp - 0x12888]
push edx
call fcn.0040a100
add esp, 4
mov dword [ebp - 0x1289c], eax
mov eax, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], eax
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], ecx
lea edx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], edx
mov dword [ebp - 0x128d8], 0x2000c
lea eax, [ebp - 0x128e8]
push eax
call fcn.0040bd10
add esp, 4
jmp case.0x42837f.3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x854]
mov dword [ebp - 0x32924], edx
cmp dword [ebp - 0x32924], 6
ja case.0x42897e.3
mov eax, dword [ebp - 0x32924]
jmp dword [eax*4 + 0x42984c]
lea ecx, [ebp - 0x12888]
push ecx
call fcn.0040bad0
add esp, 4
mov dword [ebp - 0x1289c], eax
mov edx, dword [ebp - 0x12874]
push edx
mov eax, dword [ebp - 0x1287c]
push eax
lea ecx, [ebp - 0x32900]
push ecx
call fcn.0045a980
add esp, 0xc
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], edx
jmp case.0x42897e.3
lea eax, [ebp - 0x12888]
push eax
call fcn.0040bad0
add esp, 4
mov dword [ebp - 0x1289c], eax
mov ecx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], ecx
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], edx
lea eax, [ebp - 0x32900]
mov dword [ebp - 0x128dc], eax
mov dword [ebp - 0x128d8], 0x2000c
lea ecx, [ebp - 0x128e8]
push ecx
call fcn.0040ae20
add esp, 4
jmp case.0x42897e.3
lea edx, [ebp - 0x12888]
push edx
call fcn.0040bad0
add esp, 4
mov dword [ebp - 0x1289c], eax
mov eax, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], eax
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], ecx
lea edx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], edx
mov dword [ebp - 0x128d8], 0x2000c
lea eax, [ebp - 0x128e8]
push eax
call fcn.0040aae0
add esp, 4
jmp case.0x42897e.3
mov ecx, dword [ebp - 0x12884]
push ecx
mov edx, dword [ebp - 0x12888]
push edx
lea eax, [ebp - 0x32900]
push eax
call fcn.0045a980
add esp, 0xc
mov ecx, dword [ebp - 0x12884]
mov dword [ebp - 0x128d4], ecx
mov dword [ebp - 0x1289c], 0
jmp case.0x42897e.3
cmp dword [ebp - 0x128ec], 0
jne 0x428aea
push 3
push 0x4758b4
lea edx, [ebp - 0x32900]
push edx
call fcn.0045a980
add esp, 0xc
mov dword [ebp - 0x128d4], 3
mov dword [ebp - 0x1289c], 1
mov dword [ebp - 0x128ec], 1
jmp case.0x42897e.3
mov eax, dword [ebp - 0x12884]
push eax
mov ecx, dword [ebp - 0x12888]
push ecx
lea edx, [ebp - 0x32900]
push edx
call fcn.0045a980
add esp, 0xc
mov eax, dword [ebp - 0x12884]
mov dword [ebp - 0x128d4], eax
mov dword [ebp - 0x1289c], 0
jmp case.0x42837f.3
cmp dword [ebp - 0x128ec], 0
jne 0x428bc4
push 3
push 0x4758b4
lea ecx, [ebp - 0xa808]
push ecx
call fcn.0045be6a
add esp, 0xc
test eax, eax
jne 0x428b67
mov edx, dword [ebp - 0x12888]
add edx, 3
mov dword [ebp - 0x12888], edx
mov eax, dword [ebp - 0x12884]
sub eax, 3
mov dword [ebp - 0x12884], eax
mov dword [ebp - 0x128d4], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x854]
mov dword [ebp - 0x32928], edx
cmp dword [ebp - 0x32928], 6
je 0x428b8b
jmp 0x428bab
push 3
push 0x4758b4
lea eax, [ebp - 0x32900]
push eax
call fcn.0045a980
add esp, 0xc
mov dword [ebp - 0x128d4], 3
mov dword [ebp - 0x1289c], 1
mov dword [ebp - 0x128ec], 1
jmp case.0x42837f.3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x854]
mov dword [ebp - 0x3292c], edx
cmp dword [ebp - 0x3292c], 6
ja case.0x42837f.3
mov eax, dword [ebp - 0x3292c]
jmp dword [eax*4 + 0x429868]
lea ecx, [ebp - 0x12888]
push ecx
call fcn.0040bad0
add esp, 4
mov dword [ebp - 0x1289c], eax
mov edx, dword [ebp - 0x12874]
push edx
mov eax, dword [ebp - 0x1287c]
push eax
lea ecx, [ebp - 0x32900]
push ecx
call fcn.0045a980
add esp, 0xc
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], edx
jmp case.0x42837f.3
lea eax, [ebp - 0x12888]
push eax
call fcn.0040bad0
add esp, 4
mov dword [ebp - 0x1289c], eax
mov ecx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], ecx
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], edx
lea eax, [ebp - 0x32900]
mov dword [ebp - 0x128dc], eax
mov dword [ebp - 0x128d8], 0x2000c
lea ecx, [ebp - 0x128e8]
push ecx
call fcn.0040ae20
add esp, 4
jmp case.0x42837f.3
lea edx, [ebp - 0x12888]
push edx
call fcn.0040bad0
add esp, 4
mov dword [ebp - 0x1289c], eax
mov eax, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], eax
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], ecx
lea edx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], edx
mov dword [ebp - 0x128d8], 0x2000c
lea eax, [ebp - 0x128e8]
push eax
call fcn.0040aae0
add esp, 4
jmp case.0x42837f.3
mov ecx, dword [ebp - 0x12884]
push ecx
mov edx, dword [ebp - 0x12888]
push edx
lea eax, [ebp - 0x32900]
push eax
call fcn.0045a980
add esp, 0xc
mov ecx, dword [ebp - 0x12884]
mov dword [ebp - 0x128d4], ecx
mov dword [ebp - 0x1289c], 0
jmp case.0x42837f.3
mov edx, dword [ebp - 0x12884]
push edx
mov eax, dword [ebp - 0x12888]
push eax
lea ecx, [ebp - 0x32900]
push ecx
call fcn.0045a980
add esp, 0xc
mov edx, dword [ebp - 0x12884]
mov dword [ebp - 0x128d4], edx
mov dword [ebp - 0x1289c], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x87c]
lea edx, [ecx*4 + 0x4886f0]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x830]
push ecx
mov edx, dword [ebp - 0x128d4]
push edx
lea eax, [ebp - 0x32900]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x12840]
push edx
call fcn.00429930
add esp, 0x18
test eax, eax
jne 0x428d92
mov eax, dword [ebp + 8]
mov dword [eax + 0x878], 2
jmp 0x428d9f
cmp dword [ebp - 0x1289c], 1
je 0x42835d
jmp 0x428dee
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x87c]
lea eax, [edx*4 + 0x4886f0]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x830]
push edx
mov eax, dword [ebp - 0x12820]
push eax
lea ecx, [ebp - 0xa808]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x12840]
push eax
call fcn.00429930
add esp, 0x18
test eax, eax
jne 0x428dee
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x878], 2
mov edx, dword [ebp - 0x12820]
xor eax, eax
mov ecx, dword [ebp + 8]
add edx, dword [ecx + 0x840]
mov ecx, dword [ecx + 0x844]
adc ecx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x840], edx
mov dword [eax + 0x844], ecx
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x874], 0
je 0x428e5a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x87c]
mov ecx, dword [ebp - 0x12820]
xor edx, edx
add ecx, dword [eax*8 + 0x486278]
mov eax, dword [eax*8 + 0x48627c]
adc eax, edx
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x87c]
mov dword [edx*8 + 0x486278], ecx
mov dword [edx*8 + 0x48627c], eax
call fcn.004353c0
cmp eax, 1
jne 0x428e6e
mov dword [0x4886ec], 1
cmp dword [ebp - 0x1288c], 0
je 0x428e79
jmp 0x428e7e
jmp 0x42826f
cmp dword [0x4886ec], 0
jne 0x429644
mov eax, dword [ebp + 8]
cmp dword [eax + 0x878], 0
jne 0x429644
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x854], 0xffffffff
je 0x4295e1
lea edx, [ebp - 0x12810]
mov dword [ebp - 0x1287c], edx
mov dword [ebp - 0x12878], 0x8003
lea eax, [ebp - 0x12888]
push eax
call fcn.0040a030
add esp, 4
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x858]
mov dword [ebp - 0x32930], edx
cmp dword [ebp - 0x32930], 6
ja case.0x428ef2.3
mov eax, dword [ebp - 0x32930]
jmp dword [eax*4 + 0x429884]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x854]
mov dword [ebp - 0x32934], edx
cmp dword [ebp - 0x32934], 6
ja case.0x428f1b.3
mov eax, dword [ebp - 0x32934]
jmp dword [eax*4 + 0x4298a0]
mov ecx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], ecx
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], edx
lea eax, [ebp - 0x32900]
mov dword [ebp - 0x128dc], eax
mov dword [ebp - 0x128d8], 0x2000c
lea ecx, [ebp - 0x128e8]
push ecx
call fcn.0040a3b0
add esp, 4
jmp case.0x428f1b.3
mov edx, dword [ebp - 0x12874]
push edx
mov eax, dword [ebp - 0x1287c]
push eax
lea ecx, [ebp - 0x32900]
push ecx
call fcn.0045a980
add esp, 0xc
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], edx
jmp case.0x428f1b.3
mov eax, dword [ebp - 0x12874]
push eax
mov ecx, dword [ebp - 0x1287c]
push ecx
lea edx, [ebp - 0x32900]
push edx
call fcn.0045a980
add esp, 0xc
mov eax, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], eax
jmp case.0x428f1b.3
mov ecx, dword [ebp - 0x12874]
push ecx
mov edx, dword [ebp - 0x1287c]
push edx
lea eax, [ebp - 0x32900]
push eax
call fcn.0045a980
add esp, 0xc
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], ecx
jmp case.0x428f1b.3
mov edx, dword [ebp - 0x12874]
push edx
mov eax, dword [ebp - 0x1287c]
push eax
lea ecx, [ebp - 0x32900]
push ecx
call fcn.0045a980
add esp, 0xc
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], edx
jmp case.0x428ef2.3
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x854]
mov dword [ebp - 0x32938], ecx
cmp dword [ebp - 0x32938], 6
ja case.0x429035.3
mov edx, dword [ebp - 0x32938]
jmp dword [edx*4 + 0x4298bc]
mov eax, dword [ebp - 0x12874]
push eax
mov ecx, dword [ebp - 0x1287c]
push ecx
lea edx, [ebp - 0x32900]
push edx
call fcn.0045a980
add esp, 0xc
mov eax, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], eax
jmp case.0x429035.3
mov ecx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], ecx
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], edx
lea eax, [ebp - 0x32900]
mov dword [ebp - 0x128dc], eax
mov dword [ebp - 0x128d8], 0x2000c
lea ecx, [ebp - 0x128e8]
push ecx
call fcn.0040ae20
add esp, 4
jmp case.0x429035.3
mov edx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], edx
mov eax, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], eax
lea ecx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], ecx
mov dword [ebp - 0x128d8], 0x2000c
lea edx, [ebp - 0x128e8]
push edx
call fcn.0040aae0
add esp, 4
jmp case.0x429035.3
mov eax, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], eax
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], ecx
lea edx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], edx
mov dword [ebp - 0x128d8], 0x2000c
lea eax, [ebp - 0x128e8]
push eax
call fcn.0040bd10
add esp, 4
jmp case.0x429035.3
mov ecx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], ecx
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], edx
lea eax, [ebp - 0x32900]
mov dword [ebp - 0x128dc], eax
mov dword [ebp - 0x128d8], 0x2000c
lea ecx, [ebp - 0x128e8]
push ecx
call fcn.0040bd10
add esp, 4
jmp case.0x428ef2.3
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x854]
mov dword [ebp - 0x3293c], eax
cmp dword [ebp - 0x3293c], 6
ja case.0x42918e.3
mov ecx, dword [ebp - 0x3293c]
jmp dword [ecx*4 + 0x4298d8]
mov edx, dword [ebp - 0x12874]
push edx
mov eax, dword [ebp - 0x1287c]
push eax
lea ecx, [ebp - 0x32900]
push ecx
call fcn.0045a980
add esp, 0xc
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], edx
jmp case.0x42918e.3
mov eax, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], eax
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], ecx
lea edx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], edx
mov dword [ebp - 0x128d8], 0x2000c
lea eax, [ebp - 0x128e8]
push eax
call fcn.0040ae20
add esp, 4
jmp case.0x42918e.3
mov ecx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], ecx
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], edx
lea eax, [ebp - 0x32900]
mov dword [ebp - 0x128dc], eax
mov dword [ebp - 0x128d8], 0x2000c
lea ecx, [ebp - 0x128e8]
push ecx
call fcn.0040aae0
add esp, 4
jmp case.0x42918e.3
mov edx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], edx
mov eax, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], eax
lea ecx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], ecx
mov dword [ebp - 0x128d8], 0x2000c
lea edx, [ebp - 0x128e8]
push edx
call fcn.0040bd10
add esp, 4
jmp case.0x42918e.3
mov eax, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], eax
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], ecx
lea edx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], edx
mov dword [ebp - 0x128d8], 0x2000c
lea eax, [ebp - 0x128e8]
push eax
call fcn.0040bd10
add esp, 4
jmp case.0x428ef2.3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x854]
mov dword [ebp - 0x32940], edx
cmp dword [ebp - 0x32940], 6
ja case.0x4292e7.3
mov eax, dword [ebp - 0x32940]
jmp dword [eax*4 + 0x4298f4]
mov ecx, dword [ebp - 0x12874]
push ecx
mov edx, dword [ebp - 0x1287c]
push edx
lea eax, [ebp - 0x32900]
push eax
call fcn.0045a980
add esp, 0xc
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], ecx
jmp case.0x4292e7.3
mov edx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], edx
mov eax, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], eax
lea ecx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], ecx
mov dword [ebp - 0x128d8], 0x2000c
lea edx, [ebp - 0x128e8]
push edx
call fcn.0040ae20
add esp, 4
jmp case.0x4292e7.3
mov eax, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], eax
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], ecx
lea edx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], edx
mov dword [ebp - 0x128d8], 0x2000c
lea eax, [ebp - 0x128e8]
push eax
call fcn.0040aae0
add esp, 4
jmp case.0x4292e7.3
mov ecx, dword [ebp - 0x12874]
push ecx
mov edx, dword [ebp - 0x1287c]
push edx
lea eax, [ebp - 0x32900]
push eax
call fcn.0045a980
add esp, 0xc
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], ecx
jmp case.0x4292e7.3
mov edx, dword [ebp - 0x12874]
push edx
mov eax, dword [ebp - 0x1287c]
push eax
lea ecx, [ebp - 0x32900]
push ecx
call fcn.0045a980
add esp, 0xc
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], edx
jmp case.0x428ef2.3
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x854]
mov dword [ebp - 0x32944], ecx
cmp dword [ebp - 0x32944], 6
ja case.0x428ef2.3
mov edx, dword [ebp - 0x32944]
jmp dword [edx*4 + 0x429910]
mov eax, dword [ebp - 0x12874]
push eax
mov ecx, dword [ebp - 0x1287c]
push ecx
lea edx, [ebp - 0x32900]
push edx
call fcn.0045a980
add esp, 0xc
mov eax, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], eax
jmp case.0x428ef2.3
mov ecx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], ecx
mov edx, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], edx
lea eax, [ebp - 0x32900]
mov dword [ebp - 0x128dc], eax
mov dword [ebp - 0x128d8], 0x2000c
lea ecx, [ebp - 0x128e8]
push ecx
call fcn.0040ae20
add esp, 4
jmp case.0x428ef2.3
mov edx, dword [ebp - 0x1287c]
mov dword [ebp - 0x128e8], edx
mov eax, dword [ebp - 0x12874]
mov dword [ebp - 0x128e4], eax
lea ecx, [ebp - 0x32900]
mov dword [ebp - 0x128dc], ecx
mov dword [ebp - 0x128d8], 0x2000c
lea edx, [ebp - 0x128e8]
push edx
call fcn.0040aae0
add esp, 4
jmp case.0x428ef2.3
mov eax, dword [ebp - 0x12874]
push eax
mov ecx, dword [ebp - 0x1287c]
push ecx
lea edx, [ebp - 0x32900]
push edx
call fcn.0045a980
add esp, 0xc
mov eax, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], eax
jmp case.0x428ef2.3
mov ecx, dword [ebp - 0x12874]
push ecx
mov edx, dword [ebp - 0x1287c]
push edx
lea eax, [ebp - 0x32900]
push eax
call fcn.0045a980
add esp, 0xc
mov ecx, dword [ebp - 0x12874]
mov dword [ebp - 0x128d4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x87c]
lea ecx, [eax*4 + 0x4886f0]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x830]
push eax
mov ecx, dword [ebp - 0x128d4]
push ecx
lea edx, [ebp - 0x32900]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x12840]
push ecx
call fcn.00429930
add esp, 0x18
test eax, eax
jne 0x42956f
mov edx, dword [ebp + 8]
mov dword [edx + 0x878], 2
lea eax, [ebp - 0x32900]
mov dword [ebp - 0x128dc], eax
mov dword [ebp - 0x128d8], 0x2000c
lea ecx, [ebp - 0x128e8]
push ecx
call fcn.0040a030
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x87c]
lea ecx, [eax*4 + 0x4886f0]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x830]
push eax
mov ecx, dword [ebp - 0x128d4]
push ecx
lea edx, [ebp - 0x32900]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x12840]
push ecx
call fcn.00429930
add esp, 0x18
test eax, eax
jne 0x4295e1
mov edx, dword [ebp + 8]
mov dword [edx + 0x878], 2
lea eax, [ebp - 0x12810]
mov dword [ebp - 0x12838], eax
mov dword [ebp - 0x12834], 0x8003
lea ecx, [ebp - 0x12840]
push ecx
call 0x409e50
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x87c]
lea ecx, [eax*4 + 0x4886f0]
push ecx
push 0
mov edx, dword [ebp - 0x12830]
push edx
lea eax, [ebp - 0x12810]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0044d9b0
add esp, 0x14
test eax, eax
jne 0x429644
mov edx, dword [ebp + 8]
mov dword [edx + 0x878], 2
mov eax, dword [ebp + 8]
cmp dword [eax + 0x874], 0
je 0x4296d4
push 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x874]
push edx
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [ebp + 8]
push eax
push 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x874]
push edx
call fcn.00429ea0
add esp, 0xc
push 0
call fcn.0045b291
add esp, 4
mov dword [ebp - 0x32910], eax
mov dword [ebp - 0x3290c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x87c]
mov edx, dword [ebp - 0x32910]
sub edx, dword [ecx*8 + 0x486298]
mov eax, dword [ebp - 0x3290c]
sbb eax, dword [ecx*8 + 0x48629c]
add edx, 1
adc eax, 0
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x87c]
mov dword [ecx*8 + 0x486298], edx
mov dword [ecx*8 + 0x48629c], eax
mov edx, dword [ebp - 0x12814]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x42971d
mov eax, dword [ebp + 8]
add eax, 0x42d
push eax
push str.__s_.
call fcn.0042aea0
add esp, 8
mov ecx, dword [ebp + 8]
add ecx, 0x42d
push ecx
push str.__s_.
call fcn.00456c30
add esp, 8
mov edx, dword [ebp + 8]
mov dword [edx + 0x878], 2
push 0
call fcn.0045b291
add esp, 4
mov dword [0x48da78], eax
mov dword [0x48da7c], edx
push 1
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.WS2_32.dll_shutdown]
test eax, eax
je 0x429756
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.shutdown
call fcn.0044e210
add esp, 8
lea ecx, [ebp - 0x2808]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x87c]
lea ecx, [eax*4 + 0x4886f0]
push ecx
push 0x400
lea edx, [ebp - 0xa808]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call fcn.0044da60
add esp, 0x14
mov dword [ebp - 0x12824], eax
mov eax, dword [ebp - 0x12824]
cdq
mov ecx, 0x64
idiv ecx
cmp eax, 4
jl 0x4297b0
lea edx, [ebp - 0xa808]
push edx
call fcn.0042aea0
add esp, 4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x878], 0
je 0x4297c6
mov dword [ebp - 0x12824], 0x1f4
mov eax, dword [ebp - 0x12824]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045a968
mov esp, ebp
pop ebp
ret