Function at 0x41a390
Capabilities:
Check if file exists
Copy file
Delete file
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45b838
mov eax, dword fs:[0]
push eax
sub esp, 0x3c4
mov eax, dword [0x4714d0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [0x476b88]
lea eax, [ebp - 0x284]
push 0x74
push 0
push eax
mov dword [ebp - 0x2b4], esi
call fcn.00443760
add esp, 0xc
lea ecx, [ebp - 0x284]
call fcn.00424760
xorps xmm0, xmm0
mov dword [ebp - 4], 0
movdqu xmmword [ebp - 0x1ac], xmm0
mov dword [ebp - 0x1a0], 0
movq qword [ebp - 0x19c], xmm0
psrldq xmm0, 8
movd eax, xmm0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0
and eax, 0xfffffe00
mov dword [ebp - 0x1a4], eax
push 0xffffffffffffffff
mov byte [ebp - 4], 2
lea eax, [esi + 0xb0]
push 0
push eax
lea ecx, [ebp - 0x17c]
mov byte [ebp - 0x289], 0
mov dword [ebp - 0x168], 0xf
mov dword [ebp - 0x16c], 0
mov byte [ebp - 0x17c], 0
call fcn.00402fc0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x17c]
cmp dword [ebp - 0x168], 0x10
lea eax, [ebp - 0x17c]
lea edx, [ebp - 0x25c]
cmovae ecx, dword [ebp - 0x17c]
add ecx, dword [ebp - 0x16c]
cmp dword [ebp - 0x168], 0x10
push ecx
cmovae eax, dword [ebp - 0x17c]
lea ecx, [ebp - 0x25c]
cmp dword [ebp - 0x248], 0x10
mov dword [ebp - 0x2a0], eax
cmovae edx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x24c]
push dword [ebp - 0x2a0]
add eax, edx
cmp dword [ebp - 0x248], 0x10
lea edx, [ebp - 0x25c]
cmovae edx, dword [ebp - 0x25c]
push eax
push edx
call fcn.004279d0
cmp dword [ebp - 0x248], 0x10
lea ecx, [ebp - 0x25c]
mov eax, dword [ebp - 0x24c]
lea edx, [ebp - 0x1ac]
cmovae ecx, dword [ebp - 0x25c]
push ecx
add eax, ecx
push edx
push eax
push ecx
lea ecx, [ebp - 0x284]
call fcn.00424910
mov byte [ebp - 4], 2
cmp dword [ebp - 0x168], 0x10
mov byte [ebp - 0x2b5], al
jb 0x41a543
push dword [ebp - 0x17c]
call fcn.0043e223
mov al, byte [ebp - 0x2b5]
add esp, 4
test al, al
je 0x41c3e4
cmp byte [ebp - 0x1a4], 6
jne 0x41c3e4
lea ecx, [ebp - 0x1ac]
call fcn.0042c400
test eax, eax
je 0x41c3e4
push 0xa4
call fcn.0043e531
mov esi, eax
add esp, 4
test esi, esi
je 0x41a59f
push 0xa4
push 0
push esi
call fcn.00443760
add esp, 0xc
mov ecx, esi
call fcn.004213a0
mov esi, eax
mov dword [ebp - 0x2b0], eax
jmp 0x41a5a7
xor esi, esi
mov dword [ebp - 0x2b0], esi
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x29c], esp
push str.update
call fcn.00402b30
mov edi, dword [ebp - 0x2b4]
sub esp, 0x18
mov ecx, esp
mov byte [ebp - 4], 4
push 0xffffffffffffffff
lea eax, [edi + 0x48]
mov dword [ecx + 0x14], 0xf
push 0
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
mov dword [ebp - 0x2c4], eax
call fcn.00402fc0
push dword [ebp + 8]
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.00420cf0
mov ecx, dword [esi + 0x20]
mov eax, 0x2aaaaaab
sub ecx, dword [esi + 0x1c]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x41c313
mov eax, dword [0x476c44]
test al, 1
jne 0x41a659
or eax, 1
mov dword [0x476c44], eax
push 0xfc8
push 0
push 0x476c48
mov byte [ebp - 4], 5
call fcn.00443760
add esp, 0xc
call fcn.0040a020
push 0x45db30
call fcn.0043e1e7
add esp, 4
mov byte [ebp - 4], 2
mov eax, dword [0x476c58]
mov ecx, 0x476c58
push 6
push 0
mov eax, dword [eax + 0x1c]
call eax
test al, al
je 0x41a820
mov eax, dword [0x476c44]
test al, 1
jne 0x41a6b3
or eax, 1
mov dword [0x476c44], eax
push 0xfc8
push 0
push 0x476c48
mov byte [ebp - 4], 6
call fcn.00443760
add esp, 0xc
call fcn.0040a020
push 0x45db30
call fcn.0043e1e7
add esp, 4
mov byte [ebp - 4], 2
mov eax, dword [0x476c58]
mov ecx, 0x476c58
push 6
push 0
mov eax, dword [eax + 0x6c]
call eax
mov edi, eax
mov dword [ebp - 0x150], 0
xorps xmm0, xmm0
mov esi, 0x2000
movq qword [ebp - 0x158], xmm0
mov eax, dword [edi + 0x20]
sub esi, eax
add eax, 0x24
add eax, edi
add esi, eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x154], esi
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x1c]
mov eax, 0x2aaaaaab
imul ecx
mov ecx, 0x10
sar edx, 2
mov eax, edx
mov dword [ebp - 0x294], ecx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x158]
sub esi, eax
cmp esi, ecx
jae 0x41a746
mov ecx, esi
mov dword [ebp - 0x294], ecx
test esi, esi
je 0x41a761
push ecx
push 0x468b74
push eax
call fcn.00441040
mov eax, dword [ebp - 0x294]
add esp, 0xc
add dword [ebp - 0x150], eax
push ecx
push 0
push 0
push dword [ebp - 0x2a0]
lea ecx, [ebp - 0x158]
call fcn.004086a0
mov esi, eax
mov ecx, 2
mov dword [ebp - 0x294], ecx
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
sub eax, edx
cmp eax, ecx
jae 0x41a79c
mov ecx, eax
mov dword [ebp - 0x294], ecx
test eax, eax
je 0x41a7b4
push ecx
push 0x468b88
push edx
call fcn.00441040
mov eax, dword [ebp - 0x294]
add esp, 0xc
add dword [esi + 8], eax
mov eax, dword [ebp - 0x150]
sub eax, dword [ebp - 0x158]
add dword [edi + 0x20], eax
mov eax, dword [0x476c44]
test al, 1
jne 0x41a802
or eax, 1
mov dword [0x476c44], eax
push 0xfc8
push 0
push 0x476c48
mov byte [ebp - 4], 7
call fcn.00443760
add esp, 0xc
call fcn.0040a020
push 0x45db30
call fcn.0043e1e7
add esp, 4
mov byte [ebp - 4], 2
mov eax, dword [0x476c58]
mov ecx, 0x476c58
push 0x8b
push str.LAN_UpdateFile.cpp
push edi
call dword [eax + 0x20]
mov edi, dword [ebp - 0x2b4]
mov ecx, edi
call fcn.00419fc0
test al, al
je 0x41c2fc
xor esi, esi
lea ecx, [ebp - 0x1dc]
push 0x465da0
mov dword [ebp - 0x2c0], esi
call fcn.00402b30
lea ecx, [edi + 0xc8]
mov byte [ebp - 4], 8
call fcn.00406bb0
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0x2a8], esi
call fcn.0042c400
test eax, eax
jle 0x41c2a9
nop
push 0x465da0
lea ecx, [ebp - 0x194]
call fcn.00402b30
push 0x465da0
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 4], 9
call fcn.00402b30
mov edi, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x1ac]
push edi
mov byte [ebp - 4], 0xa
call fcn.0042c710
push 0x467df8
push str.path
mov ecx, eax
call fcn.0042cbd0
lea ecx, [ebp - 0x1c4]
push ecx
mov ecx, eax
call fcn.0042b8b0
mov edx, eax
mov byte [ebp - 4], 0xb
cmp dword [edx + 0x14], 0x10
jb 0x41a8d7
mov edx, dword [edx]
cmp byte [edx], 0
jne 0x41a8e0
xor ecx, ecx
jmp 0x41a8f4
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41a8e5
sub ecx, edi
mov edi, dword [ebp - 0x2a8]
push ecx
push edx
lea ecx, [ebp - 0x1f4]
call fcn.00402ed0
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x1b0], 0x10
jb 0x41a91c
push dword [ebp - 0x1c4]
call fcn.0043e223
add esp, 4
push edi
lea ecx, [ebp - 0x1ac]
call fcn.0042c710
push 0x467e00
push str.name
mov ecx, eax
call fcn.0042cbd0
lea ecx, [ebp - 0x1c4]
push ecx
mov ecx, eax
call fcn.0042b8b0
mov edx, eax
mov byte [ebp - 4], 0xc
cmp dword [edx + 0x14], 0x10
jb 0x41a955
mov edx, dword [edx]
cmp byte [edx], 0
jne 0x41a95e
xor ecx, ecx
jmp 0x41a972
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41a963
sub ecx, edi
mov edi, dword [ebp - 0x2a8]
push ecx
push edx
lea ecx, [ebp - 0x1f4]
call fcn.00402ed0
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x1b0], 0x10
jb 0x41a99a
push dword [ebp - 0x1c4]
call fcn.0043e223
add esp, 4
push 0x104
lea eax, [ebp - 0x12c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x12c]
push 0x5c
push eax
call fcn.00440d80
add esp, 8
mov byte [eax + 1], 0
cmp byte [ebp - 0x12c], 0
jne 0x41a9d0
xor ecx, ecx
jmp 0x41a9e9
lea ecx, [ebp - 0x12c]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41a9e0
sub ecx, edx
push ecx
lea eax, [ebp - 0x12c]
push eax
lea ecx, [ebp - 0x194]
call fcn.00402ed0
push 0x10
push str.UpdateFileTemp__
lea ecx, [ebp - 0x194]
call fcn.00402ed0
push edi
lea ecx, [ebp - 0x1ac]
call fcn.0042c710
push 0x467df8
push str.path
mov ecx, eax
call fcn.0042cbd0
lea ecx, [ebp - 0x1c4]
push ecx
mov ecx, eax
call fcn.0042b8b0
mov edx, eax
mov byte [ebp - 4], 0xd
cmp dword [edx + 0x14], 0x10
jb 0x41aa47
mov edx, dword [edx]
cmp byte [edx], 0
jne 0x41aa50
xor ecx, ecx
jmp 0x41aa5e
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41aa55
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x194]
call fcn.00402ed0
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x1b0], 0x10
jb 0x41aa86
push dword [ebp - 0x1c4]
call fcn.0043e223
add esp, 4
cmp dword [ebp - 0x180], 0x10
lea eax, [ebp - 0x194]
cmovae eax, dword [ebp - 0x194]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x41accc
push 1
call fcn.0043e531
mov edi, eax
add esp, 4
cmp dword [ebp - 0x180], 0x10
lea eax, [ebp - 0x194]
mov ecx, edi
mov dword [ebp - 0x290], edi
cmovae eax, dword [ebp - 0x194]
push eax
call fcn.00423d10
test al, al
jne 0x41acbf
mov eax, dword [0x476c44]
test al, 1
jne 0x41ab1f
or eax, 1
mov dword [0x476c44], eax
push 0xfc8
push 0
push 0x476c48
mov byte [ebp - 4], 0xe
call fcn.00443760
add esp, 0xc
call fcn.0040a020
push 0x45db30
call fcn.0043e1e7
add esp, 4
mov byte [ebp - 4], 0xa
mov eax, dword [0x476c58]
mov ecx, 0x476c58
push 6
push 0
mov eax, dword [eax + 0x1c]
call eax
test al, al
je 0x41acbf
call fcn.004085b0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x6c]
call eax
mov edx, eax
mov dword [ebp - 0x150], 0
mov ecx, 0x2000
mov dword [ebp - 0x294], edx
lea edi, [ebp - 0x194]
mov dword [ebp - 0x298], 0x10
xorps xmm0, xmm0
mov eax, dword [edx + 0x20]
sub ecx, eax
add eax, 0x24
movq qword [ebp - 0x158], xmm0
add edx, eax
add ecx, edx
mov dword [ebp - 0x2ac], edx
cmp dword [ebp - 0x180], 0x10
mov eax, ecx
mov dword [ebp - 0x158], edx
cmovae edi, dword [ebp - 0x194]
sub eax, edx
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x2a4], edi
cmp eax, 0x10
jae 0x41abc9
mov dword [ebp - 0x298], eax
test eax, eax
je 0x41abfb
push dword [ebp - 0x298]
push 0x468bb4
push edx
call fcn.00441040
mov edx, dword [ebp - 0x2ac]
add esp, 0xc
add edx, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x2ac], edx
mov dword [ebp - 0x150], edx
lea eax, [edi + 1]
mov dword [ebp - 0x2a0], eax
mov al, byte [edi]
inc edi
test al, al
jne 0x41ac04
sub edi, dword [ebp - 0x2a0]
mov eax, ecx
sub eax, edx
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x41ac48
push edi
push dword [ebp - 0x2a4]
push edx
call fcn.00441040
mov edx, dword [ebp - 0x2ac]
add esp, 0xc
mov ecx, dword [ebp - 0x154]
add edx, edi
mov dword [ebp - 0x2ac], edx
mov dword [ebp - 0x150], edx
mov edi, 6
sub ecx, edx
cmp ecx, edi
jae 0x41ac59
mov edi, ecx
test ecx, ecx
je 0x41ac76
push edi
push str._code:
push edx
call fcn.00441040
mov eax, dword [ebp - 0x2ac]
add esp, 0xc
add eax, edi
mov dword [ebp - 0x150], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
push 0
push 0
push eax
lea ecx, [ebp - 0x158]
call fcn.004086a0
mov edi, dword [ebp - 0x294]
mov eax, dword [ebp - 0x150]
sub eax, dword [ebp - 0x158]
add dword [edi + 0x20], eax
call fcn.004085b0
push 0xaa
push str.LAN_UpdateFile.cpp
push edi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
mov edi, dword [ebp - 0x290]
test edi, edi
je 0x41accc
push edi
call fcn.0043e223
add esp, 4
push dword [ebp - 0x2a8]
lea ecx, [ebp - 0x1ac]
call fcn.0042c710
push 0x467e00
push str.name
mov ecx, eax
call fcn.0042cbd0
lea ecx, [ebp - 0x1c4]
push ecx
mov ecx, eax
call fcn.0042b8b0
mov edx, eax
mov byte [ebp - 4], 0xf
cmp dword [edx + 0x14], 0x10
jb 0x41ad0a
mov edx, dword [edx]
cmp byte [edx], 0
jne 0x41ad13
xor ecx, ecx
jmp 0x41ad21
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ad18
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x194]
call fcn.00402ed0
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x1b0], 0x10
jb 0x41ad49
push dword [ebp - 0x1c4]
call fcn.0043e223
add esp, 4
mov eax, dword [ebp - 0x2b0]
xor edi, edi
mov byte [ebp - 0x289], 0
mov dword [ebp - 0x2ac], edi
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x1c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x41c1c8
lea ecx, [ecx]
mov eax, dword [0x476c44]
test al, 1
jne 0x41adbf
or eax, 1
mov dword [0x476c44], eax
push 0xfc8
push 0
push 0x476c48
mov byte [ebp - 4], 0x10
call fcn.00443760
add esp, 0xc
call fcn.0040a020
push 0x45db30
call fcn.0043e1e7
add esp, 4
mov byte [ebp - 4], 0xa
mov eax, dword [0x476c58]
mov ecx, 0x476c58
push 6
push 0
mov eax, dword [eax + 0x1c]
call eax
test al, al
je 0x41b052
mov eax, dword [0x476c44]
test al, 1
jne 0x41ae19
or eax, 1
mov dword [0x476c44], eax
push 0xfc8
push 0
push 0x476c48
mov byte [ebp - 4], 0x11
call fcn.00443760
add esp, 0xc
call fcn.0040a020
push 0x45db30
call fcn.0043e1e7
add esp, 4
mov byte [ebp - 4], 0xa
mov eax, dword [0x476c58]
mov ecx, 0x476c58
push 6
push 0
mov eax, dword [eax + 0x6c]
call eax
mov edx, eax
mov eax, 0x2000
mov dword [ebp - 0x29c], edx
sub eax, dword [edx + 0x20]
lea edi, [edx + 0x24]
add edi, dword [edx + 0x20]
add eax, edi
mov dword [ebp - 0x2bc], edi
cmp dword [ebp - 0x1e0], 0x10
mov edx, edi
mov dword [ebp - 0x290], eax
lea eax, [ebp - 0x1f4]
cmovae eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x288], edx
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x2b0]
mov eax, dword [eax + 0x1c]
cmp dword [eax + ecx*8 + 0x14], 0x10
lea eax, [eax + ecx*8]
mov dword [ebp - 0x294], eax
jb 0x41ae9c
mov eax, dword [eax]
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x290]
mov eax, ecx
sub eax, edi
mov dword [ebp - 0x298], 9
cmp eax, 9
jae 0x41aebf
mov dword [ebp - 0x298], eax
test eax, eax
je 0x41aee7
push dword [ebp - 0x298]
push 0x468bd0
push edi
call fcn.00441040
mov edx, dword [ebp - 0x298]
add esp, 0xc
mov ecx, dword [ebp - 0x290]
add edx, edi
mov dword [ebp - 0x288], edx
mov edi, dword [ebp - 0x294]
lea eax, [edi + 1]
mov dword [ebp - 0x2a0], eax
mov al, byte [edi]
inc edi
test al, al
jne 0x41aef6
sub edi, dword [ebp - 0x2a0]
mov eax, ecx
sub eax, edx
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x41af34
push edi
push dword [ebp - 0x294]
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
mov ecx, dword [ebp - 0x290]
add edx, edi
mov dword [ebp - 0x288], edx
mov eax, ecx
mov edi, 4
sub eax, edx
cmp eax, edi
jae 0x41af47
mov edi, eax
test eax, eax
je 0x41af6a
push edi
push 0x468bdc
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
mov ecx, dword [ebp - 0x290]
add edx, edi
mov dword [ebp - 0x288], edx
mov edi, dword [ebp - 0x2a4]
lea eax, [edi + 1]
mov dword [ebp - 0x2a0], eax
lea esp, [esp]
mov al, byte [edi]
inc edi
test al, al
jne 0x41af80
sub edi, dword [ebp - 0x2a0]
mov eax, ecx
sub eax, edx
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x41afbe
push edi
push dword [ebp - 0x2a4]
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
mov ecx, dword [ebp - 0x290]
add edx, edi
mov dword [ebp - 0x288], edx
mov edi, 4
sub ecx, edx
cmp ecx, edi
jae 0x41afcf
mov edi, ecx
test ecx, ecx
je 0x41afe6
push edi
push 0x468be4
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
add edx, edi
mov edi, dword [ebp - 0x29c]
sub edx, dword [ebp - 0x2bc]
mov eax, dword [0x476c44]
add dword [edi + 0x20], edx
test al, 1
jne 0x41b034
or eax, 1
mov dword [0x476c44], eax
push 0xfc8
push 0
push 0x476c48
mov byte [ebp - 4], 0x12
call fcn.00443760
add esp, 0xc
call fcn.0040a020
push 0x45db30
call fcn.0043e1e7
add esp, 4
mov byte [ebp - 4], 0xa
mov eax, dword [0x476c58]
mov ecx, 0x476c58
push 0xb2
push str.LAN_UpdateFile.cpp
push edi
call dword [eax + 0x20]
mov edi, dword [ebp - 0x2ac]
mov ecx, dword [ebp - 0x2b4]
mov dword [ecx + 0xa8], 0
cmp dword [ebp - 0x1c8], 0x10
lea eax, [ebp - 0x1dc]
mov dword [ebp - 0x1cc], 0
cmovae eax, dword [ebp - 0x1dc]
mov byte [eax], 0
mov eax, dword [ecx + 0xa8]
test eax, eax
jne 0x41b663
push eax
push 0x465da0
lea ecx, [ebp - 0x17c]
mov dword [ebp - 0x168], 0xf
mov dword [ebp - 0x16c], eax
mov byte [ebp - 0x17c], al
call fcn.004037a0
sub esp, 8
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x14c]
push eax
call fcn.00420b60
test al, al
je 0x41b103
cmp byte [ebp - 0x14c], 0
jne 0x41b0e4
xor ecx, ecx
lea eax, [ebp - 0x14c]
push ecx
push eax
jmp 0x41b10a
lea ecx, [ebp - 0x14c]
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b0f0
sub ecx, edx
lea eax, [ebp - 0x14c]
push ecx
push eax
jmp 0x41b10a
push 0
push 0x465da0
lea ecx, [ebp - 0x17c]
call fcn.004037a0
cmp dword [ebp - 0x1c8], 0x10
lea eax, [ebp - 0x1dc]
xorps xmm0, xmm0
mov byte [ebp - 0x20], 0
cmovae eax, dword [ebp - 0x1dc]
movq qword [ebp - 0x1f], xmm0
mov byte [ebp - 0x17], 0
mov dword [ebp - 0x1cc], 0
mov byte [eax], 0
test esi, esi
je 0x41b15a
push dword [esi + 8]
mov edi, dword [sym.imp.WS2_32.dll_closesocket]
call edi
push dword [esi + 4]
call edi
push 0x2c
call fcn.0043e531
mov esi, eax
mov dword [ebp - 0x2c0], eax
add esp, 4
mov dword [ebp - 0x29c], esi
mov byte [ebp - 4], 0x14
test esi, esi
je 0x41b198
cmp dword [ebp - 0x168], 0x10
lea eax, [ebp - 0x17c]
mov ecx, esi
cmovae eax, dword [ebp - 0x17c]
push eax
call fcn.00423e00
jmp 0x41b1a0
xor esi, esi
mov dword [ebp - 0x2c0], esi
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x20]
push dword [esi]
push 0x468b5c
push eax
call fcn.0043eae5
add esp, 0xc
lea ecx, [ebp - 0x1dc]
push 0x1d
push str._cmd_:_fileNamedown___prot_:
call fcn.004037a0
cmp byte [ebp - 0x20], 0
jne 0x41b1d3
xor ecx, ecx
jmp 0x41b1e9
lea ecx, [ebp - 0x20]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b1e0
sub ecx, edx
push ecx
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x1dc]
call fcn.00402ed0
mov esi, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x1ac]
push esi
call fcn.0042c710
push 0x467df8
push str.path
mov ecx, eax
call fcn.0042cbd0
lea ecx, [ebp - 0x2dc]
push ecx
mov ecx, eax
call fcn.0042b8b0
mov dword [ebp - 0x29c], eax
push esi
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x15
call fcn.0042c710
push 0x468c2f
push 0x468c2c
mov ecx, eax
call fcn.0042cbd0
lea ecx, [ebp - 0x1c4]
push ecx
mov ecx, eax
call fcn.0042b8b0
mov edi, eax
push esi
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x16
call fcn.0042c710
push 0x467e00
push str.name
mov ecx, eax
call fcn.0042cbd0
lea ecx, [ebp - 0x3b4]
push ecx
mov ecx, eax
call fcn.0042b8b0
mov esi, eax
push dword [ebp - 0x2c4]
mov edx, str.__vertype_:_update___ver_:_
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x354]
call fcn.00405ce0
add esp, 4
push str.___fileName_:_
mov edx, eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x384]
call fcn.00407f60
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x324]
call fcn.00408000
add esp, 4
push str.___filemd5_:_
mov edx, eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x3cc]
call fcn.00407f60
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x39c]
call fcn.00408000
add esp, 4
push str.___filepath_:_
mov edx, eax
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x36c]
call fcn.00407f60
add esp, 4
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x33c]
push dword [ebp - 0x29c]
mov edx, eax
call fcn.00408000
add esp, 4
push str.___recvip_:_
mov edx, eax
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x2f4]
call fcn.00407f60
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x17c]
cmp dword [ebp - 0x168], 0x10
lea ecx, [ebp - 0x30c]
cmovae eax, dword [ebp - 0x17c]
push eax
call fcn.00407f60
add esp, 4
push 0x4689e8
mov edx, eax
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x20c]
call fcn.00407f60
add esp, 4
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x1dc]
mov byte [ebp - 4], 0x21
call fcn.00402e10
cmp dword [ebp - 0x1f8], 0x10
jb 0x41b3c4
push dword [ebp - 0x20c]
call fcn.0043e223
add esp, 4
cmp dword [ebp - 0x2f8], 0x10
mov dword [ebp - 0x1f8], 0xf
mov dword [ebp - 0x1fc], 0
mov byte [ebp - 0x20c], 0
jb 0x41b3f6
push dword [ebp - 0x30c]
call fcn.0043e223
add esp, 4
cmp dword [ebp - 0x2e0], 0x10
mov dword [ebp - 0x2f8], 0xf
mov dword [ebp - 0x2fc], 0
mov byte [ebp - 0x30c], 0
jb 0x41b428
push dword [ebp - 0x2f4]
call fcn.0043e223
add esp, 4
cmp dword [ebp - 0x328], 0x10
mov dword [ebp - 0x2e0], 0xf
mov dword [ebp - 0x2e4], 0
mov byte [ebp - 0x2f4], 0
jb 0x41b45a
push dword [ebp - 0x33c]
call fcn.0043e223
add esp, 4
cmp dword [ebp - 0x358], 0x10
mov dword [ebp - 0x328], 0xf
mov dword [ebp - 0x32c], 0
mov byte [ebp - 0x33c], 0
jb 0x41b48c
push dword [ebp - 0x36c]
call fcn.0043e223
add esp, 4
cmp dword [ebp - 0x388], 0x10
mov dword [ebp - 0x358], 0xf
mov dword [ebp - 0x35c], 0
mov byte [ebp - 0x36c], 0
jb 0x41b4be
push dword [ebp - 0x39c]
call fcn.0043e223
add esp, 4
cmp dword [ebp - 0x3b8], 0x10
mov dword [ebp - 0x388], 0xf
mov dword [ebp - 0x38c], 0
mov byte [ebp - 0x39c], 0
jb 0x41b4f0
push dword [ebp - 0x3cc]
call fcn.0043e223
add esp, 4
cmp dword [ebp - 0x310], 0x10
mov dword [ebp - 0x3b8], 0xf
mov dword [ebp - 0x3bc], 0
mov byte [ebp - 0x3cc], 0
jb 0x41b522
push dword [ebp - 0x324]
call fcn.0043e223
add esp, 4
cmp dword [ebp - 0x370], 0x10
mov dword [ebp - 0x310], 0xf
mov dword [ebp - 0x314], 0
mov byte [ebp - 0x324], 0
jb 0x41b554
push dword [ebp - 0x384]
call fcn.0043e223
add esp, 4
cmp dword [ebp - 0x340], 0x10
mov dword [ebp - 0x370], 0xf
mov dword [ebp - 0x374], 0
mov byte [ebp - 0x384], 0
jb 0x41b586
push dword [ebp - 0x354]
call fcn.0043e223
add esp, 4
cmp dword [ebp - 0x3a0], 0x10
mov dword [ebp - 0x340], 0xf
mov dword [ebp - 0x344], 0
mov byte [ebp - 0x354], 0
jb 0x41b5b8
push dword [ebp - 0x3b4]
call fcn.0043e223
add esp, 4
cmp dword [ebp - 0x1b0], 0x10
mov dword [ebp - 0x3a0], 0xf
mov dword [ebp - 0x3a4], 0
mov byte [ebp - 0x3b4], 0
jb 0x41b5ea
push dword [ebp - 0x1c4]
call fcn.0043e223
add esp, 4
cmp dword [ebp - 0x2c8], 0x10
mov dword [ebp - 0x1b0], 0xf
mov dword [ebp - 0x1b4], 0
mov byte [ebp - 0x1c4], 0
jb 0x41b61c
push dword [ebp - 0x2dc]
call fcn.0043e223
add esp, 4
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x168], 0x10
jb 0x41b637
push dword [ebp - 0x17c]
call fcn.0043e223
add esp, 4
mov esi, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2ac]
mov dword [ebp - 0x168], 0xf
mov dword [ebp - 0x16c], 0
mov byte [ebp - 0x17c], 0
jmp 0x41ba0a
cmp eax, 1
jne 0x41b9d2
test esi, esi
je 0x41ba0a
cmp dword [ebp - 0x180], 0x10
lea eax, [ebp - 0x194]
mov ecx, esi
cmovae eax, dword [ebp - 0x194]
push eax
call fcn.00423f10
test al, al
je 0x41bd16
push dword [esi + 8]
mov edi, dword [sym.imp.WS2_32.dll_closesocket]
call edi
push dword [esi + 4]
call edi
mov eax, dword [0x476c44]
test al, 1
jne 0x41b6e7
or eax, 1
mov dword [0x476c44], eax
push 0xfc8
push 0
push 0x476c48
mov byte [ebp - 4], 0x22
call fcn.00443760
add esp, 0xc
call fcn.0040a020
push 0x45db30
call fcn.0043e1e7
add esp, 4
mov byte [ebp - 4], 0xa
mov eax, dword [0x476c58]
mov ecx, 0x476c58
push 6
push 0
mov eax, dword [eax + 0x1c]
call eax
test al, al
je 0x41b96f
mov eax, dword [0x476c44]
test al, 1
jne 0x41b741
or eax, 1
mov dword [0x476c44], eax
push 0xfc8
push 0
push 0x476c48
mov byte [ebp - 4], 0x23
call fcn.00443760
add esp, 0xc
call fcn.0040a020
push 0x45db30
call fcn.0043e1e7
add esp, 4
mov byte [ebp - 4], 0xa
mov eax, dword [0x476c58]
mov ecx, 0x476c58
push 6
push 0
mov eax, dword [eax + 0x6c]
call eax
mov edx, eax
mov ecx, 0x2000
mov dword [ebp - 0x2a0], edx
mov eax, dword [edx + 0x20]
sub ecx, eax
lea edi, [eax + 0x24]
add edi, edx
cmp dword [ebp - 0x1e0], 0x10
mov edx, edi
mov dword [ebp - 0x2bc], edi
mov dword [ebp - 0x288], edx
lea eax, [ecx + edi]
mov dword [ebp - 0x290], eax
lea eax, [ebp - 0x1f4]
cmovae eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2ac]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x2b0]
mov eax, dword [eax + 0x1c]
cmp dword [eax + ecx*8 + 0x14], 0x10
lea eax, [eax + ecx*8]
mov dword [ebp - 0x298], eax
jb 0x41b7c6
mov eax, dword [eax]
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x290]
mov eax, ecx
sub eax, edi
mov dword [ebp - 0x294], 5
cmp eax, 5
jae 0x41b7e9
mov dword [ebp - 0x294], eax
test eax, eax
je 0x41b811
push dword [ebp - 0x294]
push 0x468c6c
push edi
call fcn.00441040
mov edx, dword [ebp - 0x294]
add esp, 0xc
mov ecx, dword [ebp - 0x290]
add edx, edi
mov dword [ebp - 0x288], edx
mov edi, dword [ebp - 0x298]
lea eax, [edi + 1]
mov dword [ebp - 0x29c], eax
mov al, byte [edi]
inc edi
test al, al
jne 0x41b820
sub edi, dword [ebp - 0x29c]
mov eax, ecx
sub eax, edx
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x41b85e
push edi
push dword [ebp - 0x298]
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
mov ecx, dword [ebp - 0x290]
add edx, edi
mov dword [ebp - 0x288], edx
mov eax, ecx
mov edi, 5
sub eax, edx
cmp eax, edi
jae 0x41b871
mov edi, eax
test eax, eax
je 0x41b894
push edi
push 0x468c74
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
mov ecx, dword [ebp - 0x290]
add edx, edi
mov dword [ebp - 0x288], edx
mov edi, dword [ebp - 0x2a4]
lea eax, [edi + 1]
mov dword [ebp - 0x29c], eax
mov al, byte [edi]
inc edi
test al, al
jne 0x41b8a3
sub edi, dword [ebp - 0x29c]
mov eax, ecx
sub eax, edx
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x41b8e1
push edi
push dword [ebp - 0x2a4]
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
mov ecx, dword [ebp - 0x290]
add edx, edi
mov dword [ebp - 0x288], edx
mov edi, 9
sub ecx, edx
cmp ecx, edi
jae 0x41b8f2
mov edi, ecx
test ecx, ecx
je 0x41b909
push edi
push 0x468c7c
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
add edx, edi
mov edi, dword [ebp - 0x2a0]
sub edx, dword [ebp - 0x2bc]
mov eax, dword [0x476c44]
add dword [edi + 0x20], edx
test al, 1
jne 0x41b957
or eax, 1
mov dword [0x476c44], eax
push 0xfc8
push 0
push 0x476c48
mov byte [ebp - 4], 0x24
call fcn.00443760
add esp, 0xc
call fcn.0040a020
push 0x45db30
call fcn.0043e1e7
add esp, 4
mov byte [ebp - 4], 0xa
mov eax, dword [0x476c58]
mov ecx, 0x476c58
push 0xda
push str.LAN_UpdateFile.cpp
push edi
call dword [eax + 0x20]
push 0x465da0
lea ecx, [ebp - 0x1c4]
call fcn.00402b30
mov edi, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x1ac]
push edi
mov byte [ebp - 4], 0x25
call fcn.0042c710
push 0x467df8
push str.path
mov ecx, eax
call fcn.0042cbd0
lea ecx, [ebp - 0x2dc]
push ecx
mov ecx, eax
call fcn.0042b8b0
mov edx, eax
mov byte [ebp - 4], 0x26
cmp dword [edx + 0x14], 0x10
jb 0x41b9c2
mov edx, dword [edx]
cmp byte [edx], 0
jne 0x41ba5a
xor ecx, ecx
jmp 0x41ba6f
cmp eax, 2
jne 0x41ba0a
cmp dword [ebp - 0x1c8], 0x10
lea eax, [ebp - 0x1dc]
push 0x15
cmovae eax, dword [ebp - 0x1dc]
lea ecx, [ebp - 0x1dc]
mov dword [ebp - 0x1cc], 0
push str._cmd_:_endfiledown_
mov byte [eax], 0
call fcn.004037a0
mov eax, dword [ebp - 0x2b0]
lea ecx, [edi + edi*2]
cmp dword [ebp - 0x1c8], 0x10
lea edx, [ebp - 0x1dc]
cmovae edx, dword [ebp - 0x1dc]
mov eax, dword [eax + 0x1c]
cmp dword [eax + ecx*8 + 0x14], 0x10
lea eax, [eax + ecx*8]
jb 0x41ba36
mov eax, dword [eax]
push edx
push ecx
push dword [ebp + 8]
mov ecx, dword [ebp - 0x2b4]
push eax
call fcn.0041a060
test al, al
je 0x41bf17
mov ecx, dword [ebp - 0x2b4]
jmp 0x41b062
mov ecx, edx
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ba60
sub ecx, edi
mov edi, dword [ebp - 0x2a8]
push ecx
push edx
lea ecx, [ebp - 0x1c4]
call fcn.00402ed0
mov byte [ebp - 4], 0x25
cmp dword [ebp - 0x2c8], 0x10
jb 0x41ba97
push dword [ebp - 0x2dc]
call fcn.0043e223
add esp, 4
push edi
lea ecx, [ebp - 0x1ac]
call fcn.0042c710
push 0x467e00
push str.name
mov ecx, eax
call fcn.0042cbd0
lea ecx, [ebp - 0x2dc]
push ecx
mov ecx, eax
call fcn.0042b8b0
mov edx, eax
mov byte [ebp - 4], 0x27
cmp dword [edx + 0x14], 0x10
jb 0x41bad0
mov edx, dword [edx]
cmp byte [edx], 0
jne 0x41bad9
xor ecx, ecx
jmp 0x41baef
mov ecx, edx
lea edi, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41bae0
sub ecx, edi
mov edi, dword [ebp - 0x2a8]
push ecx
push edx
lea ecx, [ebp - 0x1c4]
call fcn.00402ed0
mov byte [ebp - 4], 0x25
cmp dword [ebp - 0x2c8], 0x10
jb 0x41bb17
push dword [ebp - 0x2dc]
call fcn.0043e223
add esp, 4
mov ecx, dword [ebp - 0x2b4]
lea edx, [ebp - 0x1c4]
add ecx, 0x90
call fcn.00404320
test al, al
je 0x41bcfb
push 0x465da0
lea ecx, [ebp - 0x20c]
call fcn.00402b30
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [ebp - 0x20c]
call fcn.00402c30
push edi
lea ecx, [ebp - 0x1ac]
call fcn.0042c710
push 0x467df8
push str.path
mov ecx, eax
call fcn.0042cbd0
lea ecx, [ebp - 0x2dc]
push ecx
mov ecx, eax
call fcn.0042b8b0
mov byte [ebp - 4], 0x29
cmp dword [eax + 0x14], 0x10
jb 0x41bb93
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x20c]
call fcn.00402c30
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0x28
call fcn.00402c00
push edi
lea ecx, [ebp - 0x1ac]
call fcn.0042c710
push 0x467e00
push str.name
mov ecx, eax
call fcn.0042cbd0
lea ecx, [ebp - 0x2dc]
push ecx
mov ecx, eax
call fcn.0042b8b0
mov byte [ebp - 4], 0x2a
cmp dword [eax + 0x14], 0x10
jb 0x41bbe5
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x20c]
call fcn.00402c30
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0x28
call fcn.00402c00
cmp dword [ebp - 0x1f8], 0x10
lea ecx, [ebp - 0x20c]
push 0
cmovae ecx, dword [ebp - 0x20c]
lea eax, [ebp - 0x194]
cmp dword [ebp - 0x180], 0x10
push ecx
cmovae eax, dword [ebp - 0x194]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
call fcn.004085b0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x1c]
call eax
test al, al
je 0x41bcd5
call fcn.004085b0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x6c]
call eax
mov esi, eax
mov dword [ebp - 0x15c], 0
mov edx, 0x2000
xorps xmm0, xmm0
movq qword [ebp - 0x164], xmm0
push 0x468c88
mov eax, dword [esi + 0x20]
sub edx, eax
lea ecx, [eax + 0x24]
add ecx, esi
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x15c], ecx
lea eax, [ecx + edx]
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x160], eax
call fcn.00408660
mov eax, dword [ebp - 0x15c]
sub eax, dword [ebp - 0x164]
add dword [esi + 0x20], eax
call fcn.004085b0
push 0xe5
push str.LAN_UpdateFile.cpp
push esi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
mov esi, dword [ebp - 0x2c0]
cmp dword [ebp - 0x180], 0x10
lea eax, [ebp - 0x194]
cmovae eax, dword [ebp - 0x194]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x20c]
call fcn.00402c00
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 0x289], 1
mov byte [ebp - 4], 0xa
call fcn.00402c00
jmp 0x41c166
call fcn.004085b0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x1c]
call eax
test al, al
je 0x41c15f
call fcn.004085b0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x6c]
call eax
mov edx, eax
mov ecx, 0x2000
mov dword [ebp - 0x2bc], edx
mov eax, dword [edx + 0x20]
sub ecx, eax
add eax, 0x24
add edx, eax
cmp dword [ebp - 0x1e0], 0x10
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x288], edx
lea eax, [edx + ecx]
mov dword [ebp - 0x290], eax
lea ecx, [edi + edi*2]
lea eax, [ebp - 0x1f4]
cmovae eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x2b0]
mov eax, dword [eax + 0x1c]
cmp dword [eax + ecx*8 + 0x14], 0x10
lea edi, [eax + ecx*8]
mov dword [ebp - 0x2a4], edi
jb 0x41bdac
mov edi, dword [edi]
mov dword [ebp - 0x2a4], edi
mov ecx, dword [ebp - 0x290]
mov eax, ecx
sub eax, dword [ebp - 0x298]
mov dword [ebp - 0x294], 5
cmp eax, 5
jae 0x41bdd3
mov dword [ebp - 0x294], eax
test eax, eax
je 0x41be04
push dword [ebp - 0x294]
push 0x468c6c
push dword [ebp - 0x298]
call fcn.00441040
mov edx, dword [ebp - 0x294]
add esp, 0xc
add edx, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x290]
mov dword [ebp - 0x288], edx
lea eax, [edi + 1]
mov dword [ebp - 0x29c], eax
lea ecx, [ecx]
mov al, byte [edi]
inc edi
test al, al
jne 0x41be10
sub edi, dword [ebp - 0x29c]
mov eax, ecx
sub eax, edx
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x41be4e
push edi
push dword [ebp - 0x2a4]
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
mov ecx, dword [ebp - 0x290]
add edx, edi
mov dword [ebp - 0x288], edx
mov eax, ecx
mov edi, 5
sub eax, edx
cmp eax, edi
jae 0x41be61
mov edi, eax
test eax, eax
je 0x41be84
push edi
push 0x468c74
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
mov ecx, dword [ebp - 0x290]
add edx, edi
mov dword [ebp - 0x288], edx
mov edi, dword [ebp - 0x2a0]
lea eax, [edi + 1]
mov dword [ebp - 0x29c], eax
mov al, byte [edi]
inc edi
test al, al
jne 0x41be93
sub edi, dword [ebp - 0x29c]
mov eax, ecx
sub eax, edx
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x41bed1
push edi
push dword [ebp - 0x2a0]
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
mov ecx, dword [ebp - 0x290]
add edx, edi
mov dword [ebp - 0x288], edx
mov edi, 0xa
sub ecx, edx
cmp ecx, edi
jae 0x41bee2
mov edi, ecx
test ecx, ecx
je 0x41bef9
push edi
push 0x468cac
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
add edx, edi
mov edi, dword [ebp - 0x2bc]
sub edx, dword [ebp - 0x298]
add dword [edi + 0x20], edx
call fcn.004085b0
push 0xee
jmp 0x41c152
mov eax, dword [0x476c44]
test al, 1
jne 0x41bf56
or eax, 1
mov dword [0x476c44], eax
push 0xfc8
push 0
push 0x476c48
mov byte [ebp - 4], 0x2b
call fcn.00443760
add esp, 0xc
call fcn.0040a020
push 0x45db30
call fcn.0043e1e7
add esp, 4
mov byte [ebp - 4], 0xa
mov eax, dword [0x476c58]
mov ecx, 0x476c58
push 6
push 0
mov eax, dword [eax + 0x1c]
call eax
test al, al
je 0x41c15f
call fcn.004085b0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x6c]
call eax
mov edx, eax
mov ecx, 0x2000
mov dword [ebp - 0x2bc], edx
mov eax, dword [edx + 0x20]
sub ecx, eax
add eax, 0x24
add edx, eax
cmp dword [ebp - 0x1e0], 0x10
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x288], edx
lea eax, [edx + ecx]
mov dword [ebp - 0x290], eax
lea ecx, [edi + edi*2]
lea eax, [ebp - 0x1f4]
cmovae eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2b0]
mov eax, dword [eax + 0x1c]
cmp dword [eax + ecx*8 + 0x14], 0x10
lea edi, [eax + ecx*8]
mov dword [ebp - 0x2a0], edi
jb 0x41bfed
mov edi, dword [edi]
mov dword [ebp - 0x2a0], edi
mov ecx, dword [ebp - 0x290]
mov eax, ecx
sub eax, dword [ebp - 0x298]
mov dword [ebp - 0x294], 5
cmp eax, 5
jae 0x41c014
mov dword [ebp - 0x294], eax
test eax, eax
je 0x41c045
push dword [ebp - 0x294]
push 0x468c6c
push dword [ebp - 0x298]
call fcn.00441040
mov edx, dword [ebp - 0x294]
add esp, 0xc
add edx, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x290]
mov dword [ebp - 0x288], edx
lea eax, [edi + 1]
mov dword [ebp - 0x29c], eax
mov edi, edi
mov al, byte [edi]
inc edi
test al, al
jne 0x41c050
sub edi, dword [ebp - 0x29c]
mov eax, ecx
sub eax, edx
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x41c08e
push edi
push dword [ebp - 0x2a0]
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
mov ecx, dword [ebp - 0x290]
add edx, edi
mov dword [ebp - 0x288], edx
mov eax, ecx
mov edi, 5
sub eax, edx
cmp eax, edi
jae 0x41c0a1
mov edi, eax
test eax, eax
je 0x41c0c4
push edi
push 0x468c74
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
mov ecx, dword [ebp - 0x290]
add edx, edi
mov dword [ebp - 0x288], edx
mov edi, dword [ebp - 0x2a4]
lea eax, [edi + 1]
mov dword [ebp - 0x29c], eax
mov al, byte [edi]
inc edi
test al, al
jne 0x41c0d3
sub edi, dword [ebp - 0x29c]
mov eax, ecx
sub eax, edx
cmp edi, eax
cmova edi, eax
test edi, edi
je 0x41c111
push edi
push dword [ebp - 0x2a4]
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
mov ecx, dword [ebp - 0x290]
add edx, edi
mov dword [ebp - 0x288], edx
mov edi, 0xa
sub ecx, edx
cmp ecx, edi
jae 0x41c122
mov edi, ecx
test ecx, ecx
je 0x41c139
push edi
push 0x468cac
push edx
call fcn.00441040
mov edx, dword [ebp - 0x288]
add esp, 0xc
add edx, edi
mov edi, dword [ebp - 0x2bc]
sub edx, dword [ebp - 0x298]
add dword [edi + 0x20], edx
call fcn.004085b0
push 0xfb
mov edx, dword [eax]
mov ecx, eax
push str.LAN_UpdateFile.cpp
push edi
call dword [edx + 0x20]
mov byte [ebp - 0x289], 0
test esi, esi
je 0x41c182
push dword [esi + 8]
mov edi, dword [sym.imp.WS2_32.dll_closesocket]
call edi
push dword [esi + 4]
call edi
xor esi, esi
mov dword [ebp - 0x2c0], esi
mov al, byte [ebp - 0x289]
cmp al, 1
je 0x41c1c4
mov eax, dword [ebp - 0x2b0]
mov edi, dword [ebp - 0x2ac]
inc edi
mov dword [ebp - 0x2ac], edi
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x1c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jl 0x41ad80
mov al, byte [ebp - 0x289]
test al, al
jne 0x41c239
mov edi, dword [ebp - 0x2b4]
cmp dword [edi + 0xd8], 0
jbe 0x41c1e9
push 1
push 0x4689e4
lea ecx, [edi + 0xc8]
call fcn.00402ed0
lea eax, [ebp - 0x2dc]
push eax
push ecx
push dword [ebp - 0x2a8]
lea ecx, [ebp - 0x1ac]
call fcn.0042c710
add esp, 4
mov ecx, eax
call fcn.0042d500
push 0xffffffffffffffff
push 0
push eax
lea ecx, [edi + 0xc8]
mov byte [ebp - 4], 0x2c
call fcn.00402e10
cmp dword [ebp - 0x2c8], 0x10
jb 0x41c23f
push dword [ebp - 0x2dc]
call fcn.0043e223
add esp, 4
jmp 0x41c23f
mov edi, dword [ebp - 0x2b4]
cmp dword [ebp - 0x1e0], 0x10
jb 0x41c256
push dword [ebp - 0x1f4]
call fcn.0043e223
add esp, 4
mov byte [ebp - 4], 8
cmp dword [ebp - 0x180], 0x10
mov dword [ebp - 0x1e0], 0xf
mov dword [ebp - 0x1e4], 0
mov byte [ebp - 0x1f4], 0
jb 0x41c28c
push dword [ebp - 0x194]
call fcn.0043e223
add esp, 4
inc dword [ebp - 0x2a8]
lea ecx, [ebp - 0x1ac]
call fcn.0042c400
cmp dword [ebp - 0x2a8], eax
jl 0x41a870
push 0x468a24
push ecx
lea ecx, [edi + 0xc8]
call fcn.00419990
push 0x468a28
lea ecx, [edi + 0xc8]
call fcn.00402c30
mov eax, dword [edi + 0xe0]
cmp eax, 0xffffffff
je 0x41c2dc
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
cmp dword [ebp - 0x1c8], 0x10
jb 0x41c3ca
push dword [ebp - 0x1dc]
call fcn.0043e223
add esp, 4
jmp 0x41c3ca
lea eax, [edi + 0xb0]
push eax
lea ecx, [edi + 0xc8]
call fcn.00407990
jmp 0x41c3ca
lea ecx, [edi + 0xc8]
lea eax, [edi + 0xb0]
cmp ecx, eax
je 0x41c32d
push 0xffffffffffffffff
push 0
push eax
call fcn.00402fc0
call fcn.004085b0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x1c]
call eax
test al, al
je 0x41c3ca
call fcn.004085b0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x6c]
call eax
mov esi, eax
mov dword [ebp - 0x15c], 0
mov edx, 0x2000
xorps xmm0, xmm0
movq qword [ebp - 0x164], xmm0
push 0x468cd0
mov eax, dword [esi + 0x20]
sub edx, eax
lea ecx, [eax + 0x24]
add ecx, esi
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x15c], ecx
lea eax, [edx + ecx]
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x160], eax
call fcn.00408660
mov eax, dword [ebp - 0x15c]
sub eax, dword [ebp - 0x164]
add dword [esi + 0x20], eax
call fcn.004085b0
push 0x125
push str.LAN_UpdateFile.cpp
push esi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
mov esi, dword [ebp - 0x2b0]
test esi, esi
je 0x41c3e4
mov ecx, esi
call fcn.00421450
push esi
call fcn.0043e223
add esp, 4
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0
call fcn.0042b620
lea ecx, [ebp - 0x284]
call fcn.004108d0
mov al, byte [ebp - 0x289]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0043d8bb
mov esp, ebp
pop ebp
ret 4