Function at 0x40a2cc
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 8
call fcn.0041522b
add esp, 4
mov dword [ebp - 0xc], eax
mov edi, eax
mov esi, 0x42d382
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
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
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
push 8
call fcn.0041522b
add esp, 4
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, 0x42d382
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.0041522b
add esp, 4
mov dword [ebp - 0x34], eax
mov edi, eax
mov esi, 0x42d382
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 0
mov eax, dword [0x431502]
test eax, eax
je 0x40a3de
push eax
mov ebx, eax
call fcn.00401058
inc eax
push eax
call fcn.0041522b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40a3ef
push ebx
call fcn.00415231
add esp, 4
pop eax
mov dword [ebp - 4], eax
mov eax, dword [0x431506]
test eax, eax
je 0x40a411
push eax
mov ebx, eax
call fcn.00401058
inc eax
push eax
call fcn.0041522b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40a422
push ebx
call fcn.00415231
add esp, 4
pop eax
mov dword [ebp - 8], eax
push 1
lea eax, [ebp - 0xc]
push eax
mov dword [ebp - 0x68], 0
push 0
lea eax, [ebp - 0x68]
push eax
push 0x4314e2
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x24]
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40a45b
push ebx
call fcn.00415231
add esp, 4
cmp dword [ebp - 0x6c], 0
je 0x40a481
mov ebx, dword [ebp - 0xc]
call fcn.004010c3
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jle 0x40a481
mov eax, 1
jmp 0x40a486
mov eax, 0
test eax, eax
je 0x40b823
mov dword [ebp - 0x68], 0
push 0
lea eax, [ebp - 0x68]
push eax
mov dword [ebp - 0x6c], 0
push 0
lea eax, [ebp - 0x6c]
push eax
mov dword [ebp - 0x70], 0
push 0
push dword [ebp - 0x70]
mov dword [ebp - 0x74], 0
push 0
lea eax, [ebp - 0x74]
push eax
mov dword [ebp - 0x78], 0
push 0
push dword [ebp - 0x78]
push 1
push 1
push 1
push 2
push 0x238
lea eax, [ebp - 4]
push eax
push 0x4314d6
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x24]
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x40a506
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x40a516
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40a526
push ebx
call fcn.00415231
add esp, 4
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jle 0x40b823
mov dword [ebp - 0x14], 0x1000000
push 0x80000301
push 0
push 0x1000004
push 1
mov ebx, 0x1bc
call fcn.004166a0
add esp, 0x10
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40a572
push ebx
call fcn.00415231
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.004056eb
mov dword [ebp - 0x1c], eax
push 4
push 1
push 0
push dword [ebp - 0x1c]
call fcn.00405b5c
fild dword [ebp - 0x1c]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
fadd qword [0x42d501]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
call fcn.00401cad
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0xc]
call fcn.004010c3
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40b7a3
mov ebx, dword [ebp - 0xc]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a5f9
push 0x275
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a616
push 0x275
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x68], ebx
mov ebx, dword [ebp - 0xc]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a645
push 0x295
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a662
push 0x295
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x6c], ebx
push dword [ebp - 0x6c]
call fcn.0040a11a
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a68b
push ebx
call fcn.00415231
add esp, 4
pop eax
mov ebx, dword [ebp - 0x68]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a6b8
push 0x2db
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a6d5
push 0x2db
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x68], ebx
push 0x80000301
push 0
push 2
push 0x80000004
push 0
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebx]
test eax, eax
jne 0x40a6fe
mov eax, 0x42d3b4
push eax
push 2
mov ebx, 0x138
call fcn.00416ca0
add esp, 0x1c
mov dword [ebp - 0x6c], eax
push 0x42d637
push dword [ebp - 0x6c]
call fcn.00401d80
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x70], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x40a742
push ebx
call fcn.00415231
add esp, 4
cmp dword [ebp - 0x70], 0
je 0x40a896
mov ebx, dword [ebp - 0xc]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a773
push 0x30f
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a790
push 0x30f
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x68], ebx
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebx]
test eax, eax
je 0x40a7b6
push eax
mov ebx, eax
call fcn.00401058
inc eax
push eax
call fcn.0041522b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40a7c7
push ebx
call fcn.00415231
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0xc]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a7f2
push 0x369
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a80f
push 0x369
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x68], ebx
push 0x80000301
push 0
push 1
push 0x80000004
push 0
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebx]
test eax, eax
jne 0x40a838
mov eax, 0x42d3b4
push eax
push 2
mov ebx, 0x134
call fcn.004166d0
add esp, 0x1c
mov dword [ebp - 0x6c], eax
push 0x42d44a
push dword [ebp - 0x6c]
push dword [ebp - 8]
mov ecx, 3
call fcn.00401c51
add esp, 0xc
mov dword [ebp - 0x70], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x40a879
push ebx
call fcn.00415231
add esp, 4
mov eax, dword [ebp - 0x70]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40a88d
push ebx
call fcn.00415231
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
jmp 0x40a936
mov ebx, dword [ebp - 0xc]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a8bd
push 0x3b6
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a8da
push 0x3b6
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x68], ebx
push dword [ebp - 0x68]
call fcn.0040a1bf
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40a901
push ebx
call fcn.00415231
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
test eax, eax
je 0x40a921
push eax
mov ebx, eax
call fcn.00401058
inc eax
push eax
call fcn.0041522b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40a932
push ebx
call fcn.00415231
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40a954
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40a950
imul eax, dword [ebx]
jmp 0x40a945
mov ecx, eax
test ecx, ecx
je 0x40a973
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40a96c
push ebx
push eax
call fcn.00415231
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40a95a
call fcn.00415231
add esp, 4
mov eax, 0x42d382
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x34]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40a9a1
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40a99d
imul eax, dword [ebx]
jmp 0x40a992
mov ecx, eax
test ecx, ecx
je 0x40a9c0
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40a9b9
push ebx
push eax
call fcn.00415231
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40a9a7
call fcn.00415231
add esp, 4
mov eax, 0x42d382
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0xc]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a9f7
push 0x4ab
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40aa14
push 0x4ab
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x68], ebx
push dword [ebp - 0x68]
call fcn.0040b956
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 1
jne 0x40ab0d
mov ebx, dword [ebp - 0xc]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40aa58
push 0x504
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40aa75
push 0x504
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x68], ebx
lea eax, [ebp - 0x30]
push eax
push 4
mov eax, 2
call fcn.004155b0
add esp, 8
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebx]
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x70], ebx
call fcn.00401038
mov dword [ebp - 0x74], ecx
mov edi, dword [ebp - 0x70]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40aac2
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x74]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x70]
call fcn.0041523d
add esp, 8
mov dword [ebp - 0x30], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x74]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x6c]
push edi
test eax, eax
je 0x40ab05
push eax
mov ebx, eax
call fcn.00401058
inc eax
push eax
call fcn.0041522b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
jmp 0x40ac3c
cmp dword [ebp - 0x38], 2
jne 0x40aba5
mov ebx, dword [ebp - 0xc]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40ab3e
push 0x563
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ab5b
push 0x563
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x6c], 0
push 0
push dword [ebp - 0x6c]
push 1
lea eax, [ebp - 0x34]
push eax
push 1
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x70], 0
push 0
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x68]
call fcn.0040b9d4
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x40aba0
push ebx
call fcn.00415231
add esp, 4
jmp 0x40ac3c
mov ebx, dword [ebp - 0xc]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40abcc
push 0x595
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40abe9
push 0x595
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x68], ebx
push 0
push 0
push 0
push 0x80000004
push 0
push 0x42d63a
push 0x80000301
push 0
push 0
push 0x80000004
push 0
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebx]
test eax, eax
jne 0x40ac24
mov eax, 0x42d3b4
push eax
push 4
mov ebx, 0x300
call fcn.004159c0
add esp, 0x34
jmp 0x40b823
cmp dword [ebp - 0x38], 0
jle 0x40b79b
push 0x80000301
push 0
push 1
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x68], eax
mov ebx, dword [ebp - 0x30]
call fcn.004010c3
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x70], eax
mov ebx, dword [ebp - 0x34]
call fcn.004010c3
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x78], eax
push 0x80000004
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x40acc4
mov eax, 0x42d3b4
push eax
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x7c], eax
push 0x42d62e
push dword [ebp - 0x7c]
push dword [ebp - 0x78]
push dword [ebp - 0x70]
push dword [ebp - 0x68]
mov ecx, 5
call fcn.00409e65
add esp, 0x14
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40ad0b
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x40ad1b
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x40ad2b
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x40ad3b
push ebx
call fcn.00415231
add esp, 4
mov dword [ebp - 0x84], 0
push 0
lea eax, [ebp - 0x84]
push eax
mov dword [ebp - 0x88], 0
push 0
lea eax, [ebp - 0x88]
push eax
mov dword [ebp - 0x8c], 0
push 0
push dword [ebp - 0x8c]
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x10]
push 0x4314d6
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x28]
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x40ad99
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x88]
test ebx, ebx
je 0x40adac
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.004010c3
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40afb6
push 0x80000301
push 0
push 2
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x68], eax
mov ebx, dword [ebp - 0x34]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40ae13
push 0x796
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ae30
push 0x796
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x6c], ebx
push reloc.WS2_32.dll_bind
push 0
push 0
push 0x80000301
push 0
push 1
push 0
push 0
push 0
push 0x80000004
push 0
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x40ae69
mov eax, 0x42d3b4
push eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x40ae7d
mov eax, 0x42d3b4
push eax
push 0x80000004
push 0
mov ebx, dword [ebp - 0x6c]
mov eax, dword [ebx]
test eax, eax
jne 0x40ae93
mov eax, 0x42d3b4
push eax
push 6
mov ebx, 0x180
call fcn.00416440
add esp, 0x4c
mov dword [ebp - 0x70], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x70]
test eax, eax
jne 0x40aebc
mov eax, 0x42d3b4
push eax
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x40aee2
push ebx
call fcn.00415231
add esp, 4
push 0x42d645
push dword [ebp - 0x74]
push dword [ebp - 0x68]
mov ecx, 3
call fcn.00409e65
add esp, 0xc
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40af0d
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x40af1d
push ebx
call fcn.00415231
add esp, 4
mov dword [ebp - 0x7c], 0
push 0
lea eax, [ebp - 0x7c]
push eax
mov dword [ebp - 0x80], 0
push 0
lea eax, [ebp - 0x80]
push eax
mov dword [ebp - 0x84], 0
push 0
push dword [ebp - 0x84]
lea eax, [ebp - 0x78]
push eax
push dword [ebp - 0x10]
push 0x4314d6
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x28]
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x40af75
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x40af85
push ebx
call fcn.00415231
add esp, 4
cmp dword [ebp - 0x88], 0
je 0x40af97
jmp 0x40afae
push dword [ebp - 0x10]
push 0x4314d6
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x30]
jmp 0x40b823
pop eax
pop ebx
pop ecx
jmp 0x40adbd
add esp, 0xc
mov ebx, dword [ebp - 0x30]
call fcn.004010c3
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40b798
call fcn.004088c0
test eax, eax
je 0x40aff3
lea eax, [ebp - 0x3c]
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Wow64DisableWow64FsRedirection]
nop
nop
mov ebx, dword [ebp - 0x30]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40b01a
push 0x924
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b037
push 0x924
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x68], ebx
push 0
push 0x8000000
push 3
push 0
push 7
push closesocket
mov ebx, dword [ebp - 0x68]
push dword [ebx]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
nop
nop
mov dword [ebp - 0x38], eax
call fcn.004088c0
test eax, eax
je 0x40b08a
lea eax, [ebp - 0x3c]
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Wow64RevertWow64FsRedirection]
nop
nop
cmp dword [ebp - 0x38], 0
jle 0x40b661
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x38]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_GetFileTime]
nop
nop
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x38]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
nop
nop
mov ebx, dword [ebp - 0x30]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40b0e5
push 0xa70
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b102
push 0xa70
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x68], ebx
push reloc.WS2_32.dll_bind
push 0
push 0
push 0x80000301
push 0
push 1
push 0
push 0
push 0
push 0x80000004
push 0
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x40b13b
mov eax, 0x42d3b4
push eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x40b14f
mov eax, 0x42d3b4
push eax
push 0x80000004
push 0
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebx]
test eax, eax
jne 0x40b165
mov eax, 0x42d3b4
push eax
push 6
mov ebx, 0x180
call fcn.00416440
add esp, 0x4c
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
push eax
mov ebx, dword [ebp - 0x60]
test ebx, ebx
je 0x40b18f
push ebx
call fcn.00415231
add esp, 4
pop eax
mov dword [ebp - 0x60], eax
mov ebx, dword [ebp - 0x30]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40b1ba
push 0xaad
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b1d7
push 0xaad
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x68], ebx
push reloc.WS2_32.dll_bind
push 0
push 0
push 0x80000301
push 0
push 1
push 0
push 0
push 0
push 0x80000004
push 0
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x40b210
mov eax, 0x42d3b4
push eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x40b224
mov eax, 0x42d3b4
push eax
push 0x80000004
push 0
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebx]
test eax, eax
jne 0x40b23a
mov eax, 0x42d3b4
push eax
push 6
mov ebx, 0x180
call fcn.00416440
add esp, 0x4c
mov ebx, eax
test ebx, ebx
je 0x40b25c
push ebx
call fcn.00415231
add esp, 4
push 0x80000301
push 0
push 3
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x68], eax
push 0x80000401
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x6c], eax
push 0x80000401
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x70], eax
push 0x80000401
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x74], eax
push 0x80000401
push dword [ebp - 0x58]
push dword [ebp - 0x5c]
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x78], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x40b310
mov eax, 0x42d3b4
push eax
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x7c], eax
push 0x42d645
push dword [ebp - 0x7c]
push dword [ebp - 0x78]
push dword [ebp - 0x74]
push dword [ebp - 0x70]
push dword [ebp - 0x6c]
push dword [ebp - 0x68]
mov ecx, 7
call fcn.00409e65
add esp, 0x1c
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40b35d
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x40b36d
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x40b37d
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x40b38d
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x40b39d
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x40b3ad
push ebx
call fcn.00415231
add esp, 4
mov dword [ebp - 0x84], 0
push 0
lea eax, [ebp - 0x84]
push eax
mov dword [ebp - 0x88], 0
push 0
lea eax, [ebp - 0x88]
push eax
mov dword [ebp - 0x8c], 0
push 0
push dword [ebp - 0x8c]
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x10]
push 0x4314d6
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x28]
mov dword [ebp - 0x90], eax
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x40b411
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x88]
test ebx, ebx
je 0x40b424
push ebx
call fcn.00415231
add esp, 4
cmp dword [ebp - 0x90], 0
je 0x40b62b
push 0
lea eax, [ebp - 0x64]
push eax
push dword [ebp - 0x14]
push dword [ebp - 0x20]
push dword [ebp - 0x38]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
nop
nop
test eax, eax
je 0x40b626
cmp dword [ebp - 0x64], 0
jne 0x40b54a
push 0x80000301
push 0
push 5
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x68], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x40b493
mov eax, 0x42d3b4
push eax
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x6c], eax
push 0x42d645
push dword [ebp - 0x6c]
push dword [ebp - 0x68]
mov ecx, 3
call fcn.00409e65
add esp, 0xc
mov dword [ebp - 0x70], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40b4d4
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x40b4e4
push ebx
call fcn.00415231
add esp, 4
mov dword [ebp - 0x74], 0
push 0
lea eax, [ebp - 0x74]
push eax
mov dword [ebp - 0x78], 0
push 0
lea eax, [ebp - 0x78]
push eax
mov dword [ebp - 0x7c], 0
push 0
push dword [ebp - 0x7c]
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x10]
push 0x4314d6
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x28]
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x40b530
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x40b540
push ebx
call fcn.00415231
add esp, 4
jmp 0x40b626
fild dword [ebp - 0x64]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
fadd qword [0x42d501]
fstp qword [ebp - 0x74]
mov dword [ebp - 0x78], 0
push 0
lea eax, [ebp - 0x78]
push eax
mov dword [ebp - 0x7c], 0
push 0
lea eax, [ebp - 0x7c]
push eax
mov dword [ebp - 0x80], 0
push 0
push dword [ebp - 0x80]
fld qword [ebp - 0x74]
call fcn.00401cad
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
push 0x4314d6
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x84], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x40b5b6
push ebx
call fcn.00415231
add esp, 4
cmp dword [ebp - 0x84], 0
je 0x40b5fd
call fcn.0040c495
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0x9000000
jle 0x40b5f8
push 0x80000301
push 0
push 0x64
push 1
mov ebx, 0x67c
call fcn.004169d0
add esp, 0x10
jmp 0x40b5c3
jmp 0x40b621
push dword [ebp - 0x38]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
nop
nop
push dword [ebp - 0x10]
push 0x4314d6
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x30]
jmp 0x40b823
jmp 0x40b431
jmp 0x40b64f
push dword [ebp - 0x38]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
nop
nop
push dword [ebp - 0x10]
push 0x4314d6
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x30]
jmp 0x40b823
push dword [ebp - 0x38]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
nop
nop
jmp 0x40b790
push 0x80000301
push 0
push 7
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x68], eax
mov ebx, dword [ebp - 0x30]
call fcn.00401038
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40b6a9
push 0xf1d
push 0x401c44c
push 4
call fcn.00415249
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b6c6
push 0xf1d
push 0x401c44c
push 1
call fcn.00415249
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x6c], ebx
push 0x80000004
push 0
mov ebx, dword [ebp - 0x6c]
mov eax, dword [ebx]
test eax, eax
jne 0x40b6e3
mov eax, 0x42d3b4
push eax
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x70], eax
push 0x42d645
push dword [ebp - 0x70]
push dword [ebp - 0x68]
mov ecx, 3
call fcn.00409e65
add esp, 0xc
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40b724
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x40b734
push ebx
call fcn.00415231
add esp, 4
mov dword [ebp - 0x78], 0
push 0
lea eax, [ebp - 0x78]
push eax
mov dword [ebp - 0x7c], 0
push 0
lea eax, [ebp - 0x7c]
push eax
mov dword [ebp - 0x80], 0
push 0
push dword [ebp - 0x80]
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x10]
push 0x4314d6
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x28]
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x40b780
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x40b790
push ebx
call fcn.00415231
add esp, 4
pop eax
pop ebx
pop ecx
jmp 0x40afca
add esp, 0xc
pop eax
pop ebx
pop ecx
jmp 0x40a5c4
add esp, 0xc
push 0x80000301
push 0
push 6
push 1
mov ebx, 0x198
call fcn.004170c0
add esp, 0x10
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x6c], 0
push 0
lea eax, [ebp - 0x6c]
push eax
mov dword [ebp - 0x70], 0
push 0
lea eax, [ebp - 0x70]
push eax
mov dword [ebp - 0x74], 0
push 0
push dword [ebp - 0x74]
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x10]
push 0x4314d6
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x28]
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40b813
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x40b823
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40b833
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40b843
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40b861
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40b85d
imul eax, dword [ebx]
jmp 0x40b852
mov ecx, eax
test ecx, ecx
je 0x40b880
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40b879
push ebx
push eax
call fcn.00415231
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40b867
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40b898
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40b8a8
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40b8b8
push ebx
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40b8d6
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40b8d2
imul eax, dword [ebx]
jmp 0x40b8c7
mov ecx, eax
test ecx, ecx
je 0x40b8f5
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40b8ee
push ebx
push eax
call fcn.00415231
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40b8dc
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x34]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40b91b
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40b917
imul eax, dword [ebx]
jmp 0x40b90c
mov ecx, eax
test ecx, ecx
je 0x40b93a
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40b933
push ebx
push eax
call fcn.00415231
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40b921
call fcn.00415231
add esp, 4
mov ebx, dword [ebp - 0x60]
test ebx, ebx
je 0x40b952
push ebx
call fcn.00415231
add esp, 4
mov esp, ebp
pop ebp
ret