Function at 0x41b750
Capabilities:
Parse url

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x10d0
call fcn.0048a990
mov eax, dword [0x520014]
xor eax, ebp
mov dword [esp + 0x10c8], eax
mfence
mov eax, dword [ecx + 0xcc]
test eax, eax
jle 0x41b796
mov ecx, dword [esp + 0x10c8]
xor ecx, ebp
call fcn.0048a678
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x20
mov dword [esp + 4], ecx
lea eax, [esp + 0x28]
xor esi, esi
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax - 4], eax
lea edi, [esp + 0x80]
mov ecx, edi
push str.action
call fcn.004b43f0
lea eax, [esp + 0x30]
mov dword [eax], 0xffffffff
lea ecx, [esp + 0x24]
push edi
push eax
call fcn.00421a30
mov ebx, dword [eax]
test ebx, ebx
jne 0x41b84d
mov edi, eax
push 0x28
call fcn.00489952
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x18], eax
movsd xmm0, qword [esp + 0x80]
movsd qword [ebx + 0x10], xmm0
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x24], esi
mov eax, dword [esp + 0x30]
mov dword [ebx], esi
mov dword [ebx + 4], esi
mov dword [ebx + 8], eax
mov dword [edi], ebx
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
je 0x41c4c3
mov dword [esp + 0x24], eax
mov eax, dword [edi]
push eax
push dword [esp + 0x2c]
call fcn.00466e50
add esp, 8
inc dword [esp + 0x2c]
add ebx, 0x1c
mov ecx, ebx
push str.download_attempt
call fcn.00421b50
cmp byte [esp + 0x8b], 0
jns 0x41b875
push dword [esp + 0x80]
call fcn.00489982
add esp, 4
lea esi, [esp + 0x80]
mov ecx, esi
cmp byte [ebp + 8], 0
je 0x41b958
push str.status
call fcn.004b43f0
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0x24]
push esi
lea eax, [esp + 0x34]
push eax
call fcn.00421a30
mov ebx, dword [eax]
test ebx, ebx
jne 0x41b928
mov edi, eax
push 0x28
call fcn.00489952
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x18], eax
movsd xmm0, qword [esp + 0x80]
movsd qword [ebx + 0x10], xmm0
xor eax, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x24], eax
mov ecx, dword [esp + 0x30]
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov dword [edi], ebx
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
je 0x41c4df
mov dword [esp + 0x24], eax
mov eax, dword [edi]
push eax
push dword [esp + 0x2c]
call fcn.00466e50
add esp, 8
inc dword [esp + 0x2c]
add ebx, 0x1c
mov ecx, ebx
push str.success
call fcn.00421b50
cmp byte [esp + 0x8b], 0
jns 0x41b950
push dword [esp + 0x80]
call fcn.00489982
add esp, 4
mov esi, dword [ebp + 0x10]
jmp 0x41bb56
push str.status
call fcn.004b43f0
mov dword [esp + 0x30], 0xffffffff
lea ecx, [esp + 0x24]
push esi
lea eax, [esp + 0x34]
push eax
call fcn.00421a30
mov ebx, dword [eax]
test ebx, ebx
jne 0x41b9f8
mov edi, eax
push 0x28
call fcn.00489952
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x18], eax
movsd xmm0, qword [esp + 0x80]
movsd qword [ebx + 0x10], xmm0
xor eax, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x24], eax
mov ecx, dword [esp + 0x30]
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov dword [edi], ebx
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
je 0x41c4e6
mov dword [esp + 0x24], eax
mov eax, dword [edi]
push eax
push dword [esp + 0x2c]
call fcn.00466e50
add esp, 8
inc dword [esp + 0x2c]
mov esi, dword [ebp + 0x1c]
add ebx, 0x1c
mov ecx, ebx
push str.failed
call fcn.00421b50
cmp byte [esp + 0x8b], 0
jns 0x41ba23
push dword [esp + 0x80]
call fcn.00489982
add esp, 4
movzx eax, byte [esi + 0xb]
mov ecx, esi
test al, al
jns 0x41ba32
mov ecx, dword [esi]
mov eax, dword [esi + 4]
push eax
push ecx
lea eax, [esp + 0x88]
push eax
call fcn.00443010
add esp, 0xc
lea esi, [esp + 0x30]
mov ecx, esi
push str.error
call fcn.004b43f0
lea eax, [esp + 0x70]
mov dword [eax], 0xffffffff
lea ecx, [esp + 0x24]
push esi
push eax
call fcn.00421a30
mov edi, dword [eax]
test edi, edi
jne 0x41bad9
mov ebx, eax
push 0x28
call fcn.00489952
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x38]
mov dword [edi + 0x18], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [edi + 0x10], xmm0
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x24], eax
mov ecx, dword [esp + 0x70]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
mov dword [ebx], edi
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
je 0x41c4ed
mov dword [esp + 0x24], eax
mov eax, dword [ebx]
push eax
push dword [esp + 0x2c]
call fcn.00466e50
add esp, 8
inc dword [esp + 0x2c]
lea esi, [edi + 0x1c]
cmp byte [edi + 0x27], 0
jns 0x41baec
push dword [esi]
call fcn.00489982
add esp, 4
mov eax, dword [esp + 0x88]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x80]
movsd qword [esi], xmm0
mov byte [esp + 0x8b], 0
mov word [esp + 0x80], 0
cmp byte [esp + 0x3b], 0
jns 0x41bb46
push dword [esp + 0x30]
call fcn.00489982
add esp, 4
cmp byte [esp + 0x8b], 0
mov esi, dword [ebp + 0x10]
jns 0x41bb49
push dword [esp + 0x80]
call fcn.00489982
add esp, 4
jmp 0x41bb49
mov esi, dword [ebp + 0x10]
mov ecx, dword [esp + 4]
push dword [ebp + 0x1c]
push esi
call fcn.0041b390
push esi
lea eax, [esp + 0x84]
push eax
call fcn.004ccee0
add esp, 8
lea esi, [esp + 0x30]
mov ecx, esi
push str.attempt_number
call fcn.004b43f0
lea eax, [esp + 0x70]
mov dword [eax], 0xffffffff
lea ecx, [esp + 0x24]
push esi
push eax
call fcn.00421a30
mov ebx, dword [eax]
test ebx, ebx
jne 0x41bbfc
mov edi, eax
push 0x28
call fcn.00489952
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x18], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [ebx + 0x10], xmm0
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x24], eax
mov ecx, dword [esp + 0x70]
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov dword [edi], ebx
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
je 0x41c4ca
mov dword [esp + 0x24], eax
mov eax, dword [edi]
push eax
push dword [esp + 0x2c]
call fcn.00466e50
add esp, 8
inc dword [esp + 0x2c]
lea edi, [ebx + 0x1c]
cmp byte [ebx + 0x27], 0
jns 0x41bc0f
push dword [edi]
call fcn.00489982
add esp, 4
mov esi, dword [ebp + 0x14]
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
movsd xmm0, qword [esp + 0x80]
movsd qword [edi], xmm0
mov byte [esp + 0x8b], 0
mov word [esp + 0x80], 0
cmp byte [esp + 0x3b], 0
jns 0x41bc6d
push dword [esp + 0x30]
call fcn.00489982
add esp, 4
cmp byte [esp + 0x8b], 0
lea edi, [esp + 0x70]
jns 0x41bc71
push dword [esp + 0x80]
call fcn.00489982
add esp, 4
jmp 0x41bc71
lea edi, [esp + 0x70]
push esi
lea eax, [esp + 0x84]
push eax
call fcn.004ccfe0
add esp, 8
lea esi, [esp + 0x30]
mov ecx, esi
push str.downloaded_size
call fcn.004b43f0
mov dword [esp + 0x70], 0xffffffff
lea ecx, [esp + 0x24]
push esi
push edi
call fcn.00421a30
mov ebx, dword [eax]
test ebx, ebx
jne 0x41bd15
mov edi, eax
push 0x28
call fcn.00489952
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x18], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [ebx + 0x10], xmm0
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x24], eax
mov ecx, dword [esp + 0x70]
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov dword [edi], ebx
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
je 0x41c4d1
mov dword [esp + 0x24], eax
mov eax, dword [edi]
push eax
push dword [esp + 0x2c]
call fcn.00466e50
add esp, 8
inc dword [esp + 0x2c]
lea edi, [ebx + 0x1c]
cmp byte [ebx + 0x27], 0
jns 0x41bd28
push dword [edi]
call fcn.00489982
add esp, 4
mov esi, dword [ebp + 0x18]
mov eax, dword [esp + 0x88]
mov dword [edi + 8], eax
movsd xmm0, qword [esp + 0x80]
movsd qword [edi], xmm0
mov byte [esp + 0x8b], 0
mov word [esp + 0x80], 0
cmp byte [esp + 0x3b], 0
jns 0x41bd86
push dword [esp + 0x30]
call fcn.00489982
add esp, 4
cmp byte [esp + 0x8b], 0
lea edi, [esp + 0x70]
jns 0x41bd8a
push dword [esp + 0x80]
call fcn.00489982
add esp, 4
jmp 0x41bd8a
lea edi, [esp + 0x70]
push esi
lea eax, [esp + 0x84]
push eax
call fcn.004ccfe0
add esp, 8
lea esi, [esp + 0x30]
mov ecx, esi
push str.total_size
call fcn.004b43f0
mov dword [esp + 0x70], 0xffffffff
lea ecx, [esp + 0x24]
push esi
push edi
call fcn.00421a30
mov ebx, dword [eax]
test ebx, ebx
jne 0x41be2e
mov edi, eax
push 0x28
call fcn.00489952
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x18], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [ebx + 0x10], xmm0
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x24], eax
mov ecx, dword [esp + 0x70]
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov dword [edi], ebx
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
je 0x41c4d8
mov dword [esp + 0x24], eax
mov eax, dword [edi]
push eax
push dword [esp + 0x2c]
call fcn.00466e50
add esp, 8
inc dword [esp + 0x2c]
lea esi, [ebx + 0x1c]
cmp byte [ebx + 0x27], 0
jns 0x41be41
push dword [esi]
call fcn.00489982
add esp, 4
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x88]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x80]
movsd qword [esi], xmm0
mov byte [esp + 0x8b], 0
mov word [esp + 0x80], 0
cmp byte [esp + 0x3b], 0
jns 0x41be99
push dword [esp + 0x30]
call fcn.00489982
add esp, 4
cmp byte [esp + 0x8b], 0
jns 0x41be99
push dword [esp + 0x80]
call fcn.00489982
add esp, 4
xor ebx, ebx
dec ebx
lea esi, [esp + 0x18]
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
push edi
push esi
call fcn.004d3da0
add esp, 8
movzx ecx, byte [esi + 0xb]
mov eax, ecx
test cl, cl
jns 0x41bec0
mov eax, dword [esp + 0x1c]
mov edi, dword [ebp + 0x20]
test eax, eax
jne 0x41c14a
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
movzx ebx, byte [edi + 0xb]
mov eax, ebx
test bl, bl
jns 0x41bef0
mov eax, dword [edi + 4]
test eax, eax
je 0x41bf92
push 0x1048
push 0xff
lea eax, [esp + 0x88]
push eax
call fcn.0048d770
add esp, 0xc
mov dword [esp + 0x30], 0x824
test bl, bl
jns 0x41bf20
mov edi, dword [edi]
push 0x2000000
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x88]
push eax
push edi
call dword [sym.imp.WININET.dll_InternetCanonicalizeUrlW]
test eax, eax
je 0x41bf92
cmp dword [esp + 0x30], 0
je 0x41bf92
lea eax, [esp + 0x80]
push eax
call fcn.004a3276
add esp, 4
cmp eax, 0x7ffffff0
jae 0x41c4fd
mov ebx, eax
cmp eax, 5
lea edi, [esp + 0x70]
jb 0x41bfa4
lea esi, [ebx + 8]
and esi, 0xfffffff8
lea eax, [esi + esi]
push eax
call fcn.00489952
add esp, 4
mov edi, eax
mov dword [esp + 0x70], eax
or esi, 0x80000000
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebx
jmp 0x41bfac
xor eax, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], eax
xor ebx, ebx
jmp 0x41bfd0
mov byte [esp + 0x7b], bl
test ebx, ebx
je 0x41bfc2
mov eax, ebx
add eax, ebx
push eax
lea eax, [esp + 0x84]
push eax
push edi
call fcn.0048cc70
add esp, 0xc
mov word [edi + ebx*2], 0
mov bl, byte [esp + 0x7b]
mov eax, dword [esp + 0x74]
test bl, bl
movzx esi, bl
cmovs esi, eax
test esi, esi
je 0x41c09b
push 0x1048
push 0xff
lea edi, [esp + 0x88]
push edi
call fcn.0048d770
add esp, 0xc
xor eax, eax
xorps xmm0, xmm0
movups xmmword [esp + 0x34], xmm0
movups xmmword [esp + 0x44], xmm0
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], eax
movups xmmword [esp + 0x54], xmm0
mov dword [esp + 0x30], 0x3c
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], 0x824
test bl, bl
jns 0x41c034
mov eax, dword [esp + 0x70]
jmp 0x41c038
lea eax, [esp + 0x70]
lea ecx, [esp + 0x30]
push ecx
push 0x10000000
push esi
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x41c09b
mov esi, dword [esp + 0x40]
push esi
call fcn.004a3276
add esp, 4
cmp eax, 0x7ffffff0
jae 0x41c4f4
mov ebx, eax
cmp eax, 5
jb 0x41c0ab
mov dword [esp], esi
lea esi, [ebx + 8]
and esi, 0xfffffff8
lea eax, [esi + esi]
push eax
call fcn.00489952
add esp, 4
mov edi, eax
mov dword [esp + 8], eax
or esi, 0x80000000
mov dword [esp + 0x10], esi
mov esi, dword [esp]
mov dword [esp + 0xc], ebx
jmp 0x41c0b6
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov dword [esp + 0x10], eax
jmp 0x41c0cb
lea edi, [esp + 8]
mov byte [edi + 0xb], bl
test ebx, ebx
je 0x41c0c5
mov eax, ebx
add eax, ebx
push eax
push esi
push edi
call fcn.0048cc70
add esp, 0xc
mov word [edi + ebx*2], 0
cmp byte [esp + 0x7b], 0
jns 0x41c0de
push dword [esp + 0x70]
call fcn.00489982
add esp, 4
movzx ecx, byte [esp + 0x13]
mov eax, ecx
test cl, cl
jns 0x41c0ed
mov eax, dword [esp + 0xc]
mov ebx, dword [ebp + 0x24]
test eax, eax
jne 0x41c276
cmp dword [ebx + 4], 1
je 0x41c287
mov ecx, dword [esp + 4]
add ecx, 0x60
lea eax, [esp + 0x24]
push eax
call fcn.004d2c00
cmp byte [esp + 0x13], 0
jns 0x41c126
push dword [esp + 8]
call fcn.00489982
add esp, 4
cmp byte [esp + 0x23], 0
jns 0x41c139
push dword [esp + 0x18]
call fcn.00489982
add esp, 4
lea ecx, [esp + 0x24]
push dword [ecx + 4]
call fcn.004219e0
jmp 0x41b77e
test cl, cl
jns 0x41c152
mov esi, dword [esp + 0x18]
push eax
push esi
lea eax, [esp + 0x88]
push eax
call fcn.00443010
add esp, 0xc
lea esi, [esp + 0x30]
mov ecx, esi
push 0x504b0a
call fcn.004b43f0
mov dword [esp + 0x70], 0xffffffff
lea ecx, [esp + 0x24]
push esi
lea eax, [esp + 0x74]
push eax
call fcn.00421a30
mov dword [esp], eax
mov esi, dword [eax]
test esi, esi
jne 0x41c1ff
push 0x28
call fcn.00489952
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x18], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [esi + 0x10], xmm0
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x24], eax
mov ecx, dword [esp + 0x70]
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], ecx
mov ecx, dword [esp]
mov dword [ecx], esi
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
je 0x41c506
mov dword [esp + 0x24], eax
mov eax, dword [ecx]
push eax
push dword [esp + 0x2c]
call fcn.00466e50
add esp, 8
inc dword [esp + 0x2c]
mov eax, esi
add esi, 0x1c
cmp byte [eax + 0x27], 0
jns 0x41c214
push dword [esi]
call fcn.00489982
add esp, 4
mov eax, dword [esp + 0x88]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x80]
movsd qword [esi], xmm0
mov byte [esp + 0x8b], 0
mov word [esp + 0x80], 0
cmp byte [esp + 0x3b], 0
jns 0x41becb
push dword [esp + 0x30]
call fcn.00489982
add esp, 4
cmp byte [esp + 0x8b], 0
jns 0x41becb
push dword [esp + 0x80]
call fcn.00489982
add esp, 4
jmp 0x41becb
test cl, cl
jns 0x41c3a3
mov ecx, dword [esp + 8]
jmp 0x41c3a7
push 1
lea eax, [esp + 0x84]
push eax
call fcn.004ccee0
add esp, 8
lea esi, [esp + 0x30]
mov ecx, esi
push 0x504b17
call fcn.004b43f0
lea eax, [esp + 0x70]
mov dword [eax], 0xffffffff
lea ecx, [esp + 0x24]
push esi
push eax
call fcn.00421a30
mov edi, dword [eax]
test edi, edi
jne 0x41c32e
mov ebx, eax
push 0x28
call fcn.00489952
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x38]
mov dword [edi + 0x18], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [edi + 0x10], xmm0
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x24], eax
mov ecx, dword [esp + 0x70]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
mov dword [ebx], edi
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
je 0x41c50d
mov dword [esp + 0x24], eax
mov eax, dword [ebx]
push eax
push dword [esp + 0x2c]
call fcn.00466e50
add esp, 8
inc dword [esp + 0x2c]
lea esi, [edi + 0x1c]
cmp byte [edi + 0x27], 0
jns 0x41c341
push dword [esi]
call fcn.00489982
add esp, 4
mov eax, dword [esp + 0x88]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x80]
movsd qword [esi], xmm0
mov byte [esp + 0x8b], 0
mov word [esp + 0x80], 0
cmp byte [esp + 0x3b], 0
jns 0x41c102
push dword [esp + 0x30]
call fcn.00489982
add esp, 4
cmp byte [esp + 0x8b], 0
jns 0x41c102
push dword [esp + 0x80]
call fcn.00489982
add esp, 4
jmp 0x41c102
lea ecx, [esp + 8]
push eax
push ecx
lea eax, [esp + 0x88]
push eax
call fcn.00443010
add esp, 0xc
lea esi, [esp + 0x30]
mov ecx, esi
push str.redirect
call fcn.004b43f0
lea eax, [esp + 0x70]
mov dword [eax], 0xffffffff
lea ecx, [esp + 0x24]
push esi
push eax
call fcn.00421a30
mov edi, dword [eax]
test edi, edi
jne 0x41c44e
mov esi, eax
push 0x28
call fcn.00489952
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x38]
mov dword [edi + 0x18], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [edi + 0x10], xmm0
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x24], eax
mov ecx, dword [esp + 0x70]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
mov dword [esi], edi
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
je 0x41c514
mov dword [esp + 0x24], eax
mov eax, dword [esi]
push eax
push dword [esp + 0x2c]
call fcn.00466e50
add esp, 8
inc dword [esp + 0x2c]
lea esi, [edi + 0x1c]
cmp byte [edi + 0x27], 0
jns 0x41c461
push dword [esi]
call fcn.00489982
add esp, 4
mov eax, dword [esp + 0x88]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x80]
movsd qword [esi], xmm0
mov byte [esp + 0x8b], 0
mov word [esp + 0x80], 0
cmp byte [esp + 0x3b], 0
jns 0x41c0f8
push dword [esp + 0x30]
call fcn.00489982
add esp, 4
cmp byte [esp + 0x8b], 0
jns 0x41c0f8
push dword [esp + 0x80]
call fcn.00489982
add esp, 4
jmp 0x41c0f8
mov eax, ebx
jmp 0x41b83c
mov eax, ebx
jmp 0x41bbeb
mov eax, ebx
jmp 0x41bd04
mov eax, ebx
jmp 0x41be1d
mov eax, ebx
jmp 0x41b917
mov eax, ebx
jmp 0x41b9e7
mov eax, edi
jmp 0x41bac8
lea ecx, [esp + 8]
call fcn.004c9f10
lea ecx, [esp + 0x70]
call fcn.004c9f10
mov eax, esi
jmp 0x41c1ee
mov eax, edi
jmp 0x41c31d
mov eax, edi
jmp 0x41c43d