Function at 0x452924
Capabilities:
Query environment variable
Write file on windows

Disassembly:
push ebp
mov eax, 0x123c
mov ebp, esp
push edi
push esi
push ebx
call fcn.00593e50
xor eax, eax
mov edi, 0xc8
xor esi, esi
mov dword [ebp - 0x1218], eax
xor eax, eax
mov dword [ebp - 0x1214], eax
xor eax, eax
mov dword [ebp - 0x1204], eax
mov eax, 0xffffffff
mov dword [ebp - 0x1208], eax
xor eax, eax
mov dword [ebp - 0x120c], eax
xor eax, eax
mov dword [ebp - 0x1210], eax
lea eax, [ebp - 0x168]
mov dword [esp + 8], edi
lea edi, [ebp - 0x178]
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_memset
cld
mov eax, dword [ebp - 0x1210]
mov ecx, 4
mov byte [ebp - 0x58], 0
rep stosd dword es:[edi], eax
mov ecx, 0xe
lea edi, [ebp - 0x1b8]
rep stosd dword es:[edi], eax
mov dword [esp], str.HOMEDRIVE
call sub.msvcrt.dll_getenv
mov dword [ebp - 0x1218], eax
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [ebp - 0x1214], eax
mov dword [esp], str.HOMEPATH
call sub.msvcrt.dll_getenv
test eax, eax
mov ebx, eax
jne 0x4529e0
mov ebx, 0x5b29e2
mov dword [esp], ebx
mov edi, 0x5b29e4
call sub.msvcrt.dll_strlen
mov esi, eax
mov eax, dword [ebp - 0x1214]
add eax, esi
add eax, 0xa
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [ebp - 0x1200], eax
mov eax, dword [ebp - 0x1218]
mov dword [esp + 0xc], ebx
mov edx, dword [ebp - 0x1200]
mov dword [esp + 8], eax
mov eax, str._s_s.swfinfo
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll_sprintf
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x1200]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov dword [ebp - 0x11fc], eax
test eax, eax
je 0x452cc4
mov edx, dword [ebp + 8]
mov ebx, 0x2f
mov dword [esp + 4], ebx
mov dword [esp], edx
call sub.msvcrt.dll_strchr
mov dword [ebp - 0x121c], eax
test eax, eax
je 0x452cc4
add eax, 2
mov ecx, 0x2f
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strchr
mov dword [ebp - 0x121c], eax
test eax, eax
mov ebx, eax
je 0x452cc4
mov edx, dword [ebp + 8]
inc eax
mov dword [ebp - 0x121c], eax
sub eax, edx
mov dword [ebp - 0x11f8], eax
mov eax, 0x2f
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x121c]
mov dword [esp], eax
call sub.msvcrt.dll_strrchr
mov dword [ebp - 0x121c], eax
test eax, eax
je 0x453315
lea esi, [esi]
lea edi, [edi]
mov eax, dword [ebp - 0x11fc]
lea edx, [ebp - 0x11b8]
mov dword [esp], edx
mov dword [esp + 8], eax
mov eax, 0x1000
mov dword [esp + 4], eax
call sub.msvcrt.dll_fgets
test eax, eax
je 0x452cc4
cld
xor eax, eax
mov ecx, 5
mov dword [ebp - 0x120c], eax
lea esi, [ebp - 0x11b8]
mov edi, str.url:
repe cmpsb byte [esi], byte es:[edi]
jne 0x452ad4
mov edx, dword [ebp - 0x11f8]
lea eax, [ebp - 0x11b3]
mov dword [esp], eax
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x452ad4
mov eax, 0x2f
mov dword [esp + 4], eax
lea eax, [ebp - 0x11b8]
mov dword [esp], eax
call sub.msvcrt.dll_strrchr
mov dword [esp], eax
mov ebx, eax
call sub.msvcrt.dll_strlen
mov esi, eax
dec esi
mov byte [ebx + esi], 0
mov edx, dword [ebp - 0x121c]
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], edx
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x452ad4
mov eax, dword [ebp - 0x11fc]
mov dword [esp], eax
call sub.msvcrt.dll_ftell
mov dword [ebp - 0x1204], eax
cmp dword [ebp - 0x120c], 3
jg 0x452cc4
mov eax, dword [ebp - 0x11fc]
lea edx, [ebp - 0x11b8]
mov dword [esp], edx
mov dword [esp + 8], eax
mov eax, 0x1000
mov dword [esp + 4], eax
call sub.msvcrt.dll_fgets
test eax, eax
je 0x452cc4
cld
mov edi, str.size:
mov ecx, 6
lea esi, [ebp - 0x11b8]
repe cmpsb byte [esi], byte es:[edi]
je 0x452ee8
cld
mov edi, str.hash:
mov ecx, 6
lea esi, [ebp - 0x11b8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x452e64
lea eax, [ebp - 0x11b2]
mov ebx, dword [ebp + 0x10]
xor esi, esi
mov dword [esp], eax
call sub.msvcrt.dll_strlen
lea edi, [eax - 1]
jmp 0x452c39
and eax, 0xf
lea edx, [eax + 9]
shl edx, 4
movzx eax, byte [ebp + esi - 0x11b1]
test al, 0x40
je 0x452c62
and eax, 0xf
add eax, 9
or al, dl
add esi, 2
mov byte [ecx], al
cmp esi, edi
jge 0x452ca4
movzx eax, byte [esi + ebp - 0x11b2]
mov ecx, ebx
lea ebx, [ebx + 1]
test al, 0x40
jne 0x452c17
mov edx, eax
and edx, 0xf
shl edx, 4
movzx eax, byte [ebp + esi - 0x11b1]
test al, 0x40
jne 0x452c2c
and eax, 0xf
jmp 0x452c32
mov dword [ebp - 0x11d8], ebx
xor eax, eax
mov dword [ebp - 0x11c8], eax
mov eax, dword [0x65c07c]
test eax, eax
je 0x4534e9
lea eax, [ebp - 0x11e8]
mov dword [esp], eax
call sub.msvcrt.dll_mktime
cmp eax, 0xffffffff
je 0x452c9d
mov edx, dword [0x65c06c]
add eax, edx
mov dword [ebp - 0x1208], eax
nop
inc dword [ebp - 0x120c]
cmp dword [ebp - 0x120c], 3
jle 0x452ba4
lea esi, [esi]
lea edi, [edi]
mov dword [esp], 0
call sub.msvcrt.dll_time
mov dword [ebp - 0x11f4], eax
mov esi, dword [ebp + 0x14]
mov ecx, eax
test esi, esi
setne al
xor edx, edx
cmp dword [ebp - 0x1208], 0
setg dl
test eax, edx
je 0x452d1c
mov ebx, dword [ebp - 0x1208]
mov edx, 0xc22e4507
sub ecx, ebx
mov dword [ebp - 0x1208], ecx
mov eax, ecx
imul edx
mov eax, ecx
sar eax, 0x1f
add edx, ecx
sar edx, 0x10
sub edx, eax
cmp edx, dword [ebp + 0x14]
jl 0x452e2c
mov ecx, 1
lea edi, [ebp - 0x164]
mov dword [ebp - 0xac], ecx
mov dword [esp], edi
call fcn.004c8260
call fcn.004c86d0
mov dword [esp + 0xc], eax
mov eax, 0x1e
xor edx, edx
mov dword [esp + 8], eax
mov eax, str.Genuine_Adobe_Flash_Player_001
mov dword [esp + 0x10], edx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004c7dc0
mov eax, 0x38
lea edx, [ebp - 0x1b8]
mov dword [esp + 8], eax
mov eax, str.1.2.5
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.005895cc
lea eax, [ebp - 0x1b8]
lea edx, [ebp - 0x58]
mov dword [ebp - 0x168], eax
lea eax, [ebp - 0x168]
mov dword [ebp - 0x178], edx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x16c], eax
mov eax, 0x452754
mov dword [esp + 8], eax
lea eax, [ebp - 0x178]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00452064
mov ebx, eax
lea edx, [ebp - 0x1b8]
mov dword [esp], edx
call fcn.0058b8c0
cmp ebx, 1
jbe 0x453153
mov esi, 0xffffffff
cmp ebx, 6
mov dword [ebp - 0x1210], esi
je 0x453445
cmp ebx, 2
je 0x453343
mov dword [esp], 1
mov eax, dword [ebp - 0x170]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], eax
mov eax, str.RTMP_HashSWF
mov dword [esp + 8], eax
mov eax, str._s:_couldnt_contact_swfurl__s__HTTP_error__d_
mov dword [esp + 4], eax
call fcn.00451c24
nop
mov dword [esp], edi
call fcn.004c8380
mov eax, dword [ebp - 0x1200]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x11fc]
test eax, eax
je 0x452e52
mov edx, dword [ebp - 0x11fc]
mov dword [esp], edx
call sub.msvcrt.dll_fclose
mov eax, dword [ebp - 0x1210]
add esp, 0x123c
pop ebx
pop esi
pop edi
pop ebp
ret
cld
mov edi, str.date:
mov ecx, 6
lea esi, [ebp - 0x11b8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x452f15
lea ecx, [ebp - 0x11b8]
nop
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x452e84
test edx, 0x8080
jne 0x452ea9
shr edx, 0x10
add ecx, 2
add dl, dl
lea edx, [ebp - 0x11b8]
lea eax, [ebp - 0x11b2]
sbb ecx, 3
sub ecx, edx
xor ebx, ebx
mov byte [ecx + ebp - 0x11b9], bl
mov ecx, 0x40
mov dword [esp + 4], eax
lea eax, [ebp - 0x58]
mov dword [esp + 8], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strncpy
inc dword [ebp - 0x120c]
jmp 0x452caa
lea eax, [ebp - 0x11b2]
mov edi, 0x10
xor esi, esi
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_strtol
inc dword [ebp - 0x120c]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
jmp 0x452caa
cld
mov edi, str.ctim:
mov ecx, 6
lea esi, [ebp - 0x11b8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x4532f7
lea ecx, [ebp - 0x11b8]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x452f34
test edx, 0x8080
jne 0x452f59
shr edx, 0x10
add ecx, 2
add dl, dl
lea eax, [ebp - 0x11b8]
mov edi, 0x76c
sbb ecx, 3
sub ecx, eax
xor edx, edx
mov byte [ecx + ebp - 0x11b9], dl
xor ebx, ebx
movzx eax, byte [ebp - 0x11af]
cmp al, 0x20
je 0x452f96
cmp al, 0x2c
mov ebx, 1
sete al
movzx edi, al
neg edi
and edi, 0x76c
lea ecx, [ebp - 0x11b2]
mov dword [ebp - 0x11ec], ecx
cmp byte [ecx], 0
jmp 0x452fd0
movzx eax, byte [ecx]
cmp al, 0x2d
sete dl
cmp al, 0x3a
sete al
or eax, edx
test al, 1
je 0x452fc3
mov byte [ecx], 0x20
mov ecx, dword [ebp - 0x11ec]
mov eax, ecx
inc ecx
mov dword [ebp - 0x11ec], ecx
cmp byte [eax + 1], 0
jne 0x452fa7
xor eax, eax
lea edx, [ebp - 0x11b2]
mov dword [ebp - 0x11d8], eax
mov eax, 0x20
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.msvcrt.dll_strchr
mov dword [ebp - 0x11ec], eax
test ebx, ebx
mov ecx, eax
jne 0x45336d
lea esi, [eax + 1]
mov eax, 0x20
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.msvcrt.dll_strchr
mov ecx, eax
jmp 0x45302c
mov eax, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [eax]
movzx eax, word [eax + edx*2]
and eax, 8
test eax, eax
je 0x45305a
inc ecx
mov dword [ebp - 0x11ec], ecx
mov eax, dword [sym.imp.msvcrt.dll___mb_cur_max]
movsx edx, byte [ecx]
cmp dword [eax], 1
je 0x453019
mov dword [esp], edx
mov eax, 8
mov dword [esp + 4], eax
call sub.msvcrt.dll__isctype
test eax, eax
mov ecx, dword [ebp - 0x11ec]
jne 0x45302b
mov dword [esp], ecx
xor eax, eax
xor ebx, ebx
mov dword [esp + 8], eax
lea eax, [ebp - 0x11ec]
mov dword [esp + 4], eax
call sub.msvcrt.dll_strtol
mov dword [ebp - 0x11dc], eax
xor eax, eax
lea edx, [ebp - 0x11ec]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x11ec]
mov dword [esp + 4], edx
inc eax
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov dword [ebp - 0x11e0], eax
xor eax, eax
mov dword [esp + 8], eax
lea eax, [ebp - 0x11ec]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x11ec]
inc eax
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov dword [ebp - 0x11e4], eax
xor eax, eax
lea edx, [ebp - 0x11ec]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x11ec]
mov dword [esp + 4], edx
inc eax
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov dword [ebp - 0x11e8], eax
mov eax, dword [ebp - 0x11ec]
xor ecx, ecx
mov dword [esp + 8], ebx
inc eax
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov dword [ebp - 0x11d4], eax
cmp eax, 0x64
jle 0x453115
sub eax, edi
mov dword [ebp - 0x11d4], eax
xor ebx, ebx
lea esi, [esi]
lea edi, [edi]
mov dword [esp], esi
mov eax, dword [ebx*4 + 0x59b234]
mov edx, 3
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll__strnicmp_1
test eax, eax
je 0x452c67
inc ebx
cmp ebx, 0xb
jle 0x453124
jmp 0x452c6d
mov eax, dword [ebp - 0x120c]
test eax, eax
setne al
xor edx, edx
cmp dword [ebp - 0x1204], 0
setne dl
test eax, edx
jne 0x453320
mov eax, dword [ebp - 0x11fc]
test eax, eax
je 0x453463
mov edx, dword [ebp - 0x11fc]
mov eax, 2
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll_fseek
mov eax, 0x3f
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
je 0x4534d7
mov esi, eax
mov eax, dword [ebp + 8]
sub esi, eax
mov dword [esp + 8], esi
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x11fc]
mov dword [esp + 0xc], eax
mov eax, str.url:__.s_n
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.msvcrt.dll_fprintf
lea eax, [ebp - 0x11f4]
lea ebx, [ebp - 0x98]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004528b4
mov dword [esp + 8], ebx
mov eax, str.ctim:__s_n
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x11fc]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov esi, dword [ebp - 0xac]
test esi, esi
jne 0x452e24
mov dword [esp], edi
mov edx, dword [ebp + 0x10]
lea eax, [ebp - 0x11f8]
mov dword [esp + 8], eax
mov ebx, str.date:__s_n
xor esi, esi
mov dword [esp + 4], edx
call fcn.004c81d0
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov edx, dword [ebp - 0x11fc]
lea eax, [ebp - 0x58]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edx
call sub.msvcrt.dll_fprintf
mov eax, dword [ebp - 0xa4]
mov ecx, str.size:__08x_n
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x11fc]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], str.hash:
mov edx, dword [ebp - 0x11fc]
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp + 0xc], edx
mov edx, 6
mov dword [esp + 8], edx
call sub.msvcrt.dll_fwrite
lea esi, [esi]
mov edx, dword [ebp + 0x10]
movzx eax, byte [esi + edx]
inc esi
mov dword [esp + 8], eax
mov eax, 0x5b2a9c
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x11fc]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
cmp esi, 0x1f
jle 0x4532b4
mov dword [esp], 0xa
mov edx, dword [ebp - 0x11fc]
mov dword [esp + 4], edx
call sub.msvcrt.dll_fputc
jmp 0x452e24
cld
mov ecx, 5
lea esi, [ebp - 0x11b8]
mov edi, str.url:
repe cmpsb byte [esi], byte es:[edi]
jne 0x452b97
jmp 0x452cc4
mov dword [ebp - 0x121c], ebx
jmp 0x452ad4
xor eax, eax
mov edx, dword [ebp - 0x1204]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x11fc]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_fseek
jmp 0x4531e2
mov edx, dword [ebp + 8]
mov eax, str._s:_swfurl__s_not_found
mov dword [esp + 4], eax
mov dword [esp + 0xc], edx
mov edx, str.RTMP_HashSWF
mov dword [esp + 8], edx
mov dword [esp], 1
call fcn.00451c24
jmp 0x452e24
xor eax, eax
xor ebx, ebx
mov dword [esp + 8], eax
lea eax, [ebp - 0x11ec]
mov dword [esp + 4], eax
lea eax, [ecx + 1]
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov dword [ebp - 0x11dc], eax
mov esi, dword [ebp - 0x11ec]
mov eax, 0x20
mov dword [esp + 4], eax
inc esi
mov dword [esp], esi
call sub.msvcrt.dll_strchr
mov dword [ebp - 0x11ec], eax
mov ecx, eax
xor eax, eax
mov dword [esp + 8], eax
lea edx, [ebp - 0x11ec]
lea eax, [ecx + 1]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov dword [ebp - 0x11d4], eax
xor eax, eax
mov dword [esp + 8], eax
lea eax, [ebp - 0x11ec]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x11ec]
inc eax
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov dword [ebp - 0x11e0], eax
mov eax, dword [ebp - 0x11ec]
lea edx, [ebp - 0x11ec]
mov dword [esp + 4], edx
inc eax
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov dword [ebp - 0x11e4], eax
mov eax, dword [ebp - 0x11ec]
xor ecx, ecx
mov dword [esp + 8], ecx
xor edx, edx
mov dword [esp + 4], edx
inc eax
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov dword [ebp - 0x11e8], eax
mov eax, dword [ebp - 0x11d4]
jmp 0x453108
mov eax, dword [ebp + 8]
mov ebx, str.RTMP_HashSWF
mov ecx, str._s:_connection_lost_while_downloading_swfurl__s
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
jmp 0x45335c
mov edx, dword [ebp - 0x1200]
mov esi, 0x5b2aec
mov dword [esp + 4], esi
mov dword [esp], edx
call sub.msvcrt.dll_fopen
mov dword [ebp - 0x11fc], eax
test eax, eax
jne 0x453180
call sub.msvcrt.dll__errno
mov ebx, dword [eax]
mov dword [esp], ebx
call sub.msvcrt.dll_strerror
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x1200]
mov ecx, str._s:_couldnt_open__s_for_writing__errno__d___s_
mov dword [esp + 0x10], ebx
mov ebx, str.RTMP_HashSWF
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], 1
call fcn.00451c24
mov edx, 0xffffffff
mov dword [ebp - 0x1210], edx
jmp 0x452e2c
mov edx, dword [ebp + 8]
mov dword [esp], edx
call sub.msvcrt.dll_strlen
mov esi, eax
jmp 0x4531c0
lea eax, [ebp - 0x11f0]
mov edi, 0x12f97ec0
mov dword [ebp - 0x11f0], edi
mov dword [esp], eax
call sub.msvcrt.dll_localtime
mov esi, dword [eax + 8]
mov ecx, 0xc
mov ebx, dword [eax + 4]
sub ecx, esi
imul ecx, ecx, 0xe10
mov edx, ebx
shl edx, 4
sub edx, ebx
mov ebx, dword [eax]
lea edx, [ecx + edx*4]
mov ecx, 1
add edx, ebx
mov dword [0x65c06c], edx
mov dword [0x65c07c], ecx
jmp 0x452c82