Function at 0x11001240
Capabilities:
Create thread
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x434
mov eax, dword [0x11048be0]
push ebx
xor ebx, ebx
push esi
cmp eax, ebx
push edi
jne 0x11001267
cmp byte [0x1102a1ac], 9
jne 0x11001267
mov byte [0x1102a1ac], 4
cmp dword [0x11048be8], ebx
jne 0x1100127f
cmp byte [0x1102a1ac], 4
jne 0x1100127f
mov byte [0x1102a1ac], 1
mov edx, dword [ebp + 8]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
mov byte [0x1104aa20], bl
mov dword [0x110492fc], ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x1102623c
mov eax, ecx
mov esi, edi
mov edi, 0x11048ee0
push edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [0x11049310], 0x41800000
mov dword [0x1102606c], 0xffffffff
mov dword [0x1103fdc0], ebx
mov dword [0x110492e0], ebx
mov dword [0x110492ec], 1
mov byte [0x1104a720], bl
call fcn.11019b20
add esp, 8
test eax, eax
jne 0x1100131a
mov esi, dword [ebp + 8]
push 0x11026238
push esi
call fcn.11019b20
add esp, 8
test eax, eax
jne 0x1100131d
mov edx, 1
mov dword [0x11048e24], ebx
mov dword [0x110282fc], edx
jmp 0x11001334
mov esi, dword [ebp + 8]
mov edx, 1
mov dword [0x110282fc], ebx
mov dword [0x11048e24], edx
mov dword [0x11048ec0], ebx
xor ecx, ecx
mov dword [0x1102a03c], ebx
mov cl, byte [0x1102a1ab]
cmp ecx, 2
mov dword [0x1104a704], ecx
jle 0x11001358
mov ecx, 2
mov dword [0x1104a704], ecx
mov al, byte [0x1102a1ac]
cmp al, 4
jne 0x11001379
mov dword [0x1104a6c0], edx
cmp al, 9
mov dword [0x1104931c], ebx
jne 0x11001389
mov dword [0x1104930c], edx
jmp 0x11001399
cmp al, 6
mov dword [0x1104a6c0], ebx
jne 0x11001367
mov dword [0x1104931c], edx
cmp al, 0xc
mov dword [0x1104930c], ebx
mov dword [0x11049308], edx
je 0x1100139f
mov dword [0x11049308], ebx
cmp ecx, ebx
je 0x110013b5
mov dword [0x1104930c], ebx
mov dword [0x1104931c], ebx
mov dword [0x1104a6c0], ebx
call fcn.110101a0
call fcn.1100d050
call fcn.1100c3b0
call fcn.1100bc10
call fcn.1100a1e0
call fcn.11014e70
cmp dword [0x11048e24], ebx
je 0x1100142c
mov ecx, dword [0x11026348]
mov eax, dword [str.__P]
mov edx, dword [0x11026344]
push ecx
shl eax, 0xa
push edx
push eax
push esi
call fcn.110176d0
add esp, 0x10
test eax, eax
jne 0x1100140b
pop edi
pop esi
mov eax, 2
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [0x11048e28], 0x11026038
mov dword [0x11026040], ebx
mov dword [0x1102603c], ebx
mov dword [0x1104a6e8], ebx
jmp 0x110017b3
push ebx
push 0x8000080
push 3
push ebx
push 3
push 0x80000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [0x110492e8], eax
je 0x11001cf2
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
xor ecx, ecx
lea edx, [ebp + 8]
mov dword [ebp - 0xf], ecx
mov dword [0x11048ec4], eax
mov dword [ebp - 0xb], ecx
push ebx
mov byte [ebp - 7], cl
mov ecx, dword [0x110492e8]
push edx
lea eax, [ebp - 0x10]
push 0xa
push eax
push ecx
mov dword [0x1102a090], ebx
mov byte [ebp - 0x10], bl
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov al, byte [ebp - 0x10]
mov ecx, 0xff
cmp al, 0x49
jne 0x1100150b
cmp byte [ebp - 0xf], 0x44
jne 0x1100150b
cmp byte [ebp - 0xe], 0x33
jne 0x1100150b
cmp byte [ebp - 0xd], cl
je 0x1100150b
cmp byte [ebp - 0xc], cl
je 0x1100150b
cmp byte [ebp - 0xa], 0x80
jae 0x1100150b
cmp byte [ebp - 9], 0x80
jae 0x1100150b
cmp byte [ebp - 8], 0x80
jae 0x1100150b
cmp byte [ebp - 7], 0x80
jae 0x1100150b
mov edx, dword [ebp - 0xa]
mov eax, dword [ebp - 9]
and edx, ecx
and eax, ecx
shl edx, 7
add edx, eax
mov eax, dword [ebp - 8]
shl edx, 7
and eax, ecx
add edx, eax
mov eax, dword [ebp - 7]
shl edx, 7
and eax, ecx
lea eax, [edx + eax + 0xa]
mov edx, dword [0x11048ec4]
cmp eax, edx
jge 0x1100150b
mov esi, edx
mov edx, dword [0x1102a090]
sub esi, eax
add edx, eax
mov dword [0x11048ec4], esi
mov dword [0x1102a090], edx
xor eax, eax
lea edi, [ebp - 0x433]
mov byte [ebp - 0x434], bl
mov edx, dword [0x110492e8]
rep stosd dword es:[edi], eax
mov ecx, dword [0x1102a090]
mov esi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
stosw word es:[edi], ax
push ebx
push ebx
push ecx
push edx
stosb byte es:[edi], al
call esi
mov edx, dword [0x110492e8]
lea eax, [ebp + 8]
push ebx
push eax
lea ecx, [ebp - 0x434]
push 0x400
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
lea eax, [ebp - 0x434]
mov dword [0x1104a6f8], 0x1104a820
push eax
push 0x1104a6e0
mov dword [0x1104a6e8], ebx
call fcn.11004450
add esp, 8
test eax, eax
je 0x110015be
test byte [0x1104a6e8], 1
je 0x110015be
mov ecx, dword [0x1104a6e4]
cmp ecx, ebx
je 0x110015be
mov eax, dword [0x1104a6ec]
cmp eax, ebx
je 0x110015be
push ecx
mov ecx, dword [0x1104a6e0]
neg ecx
sbb ecx, ecx
and ecx, 0x240
add ecx, 0x240
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [0x11026078], eax
jmp 0x110015c4
mov dword [0x1104a6e8], ebx
mov edx, dword [0x110492e8]
push 2
mov ecx, 0x20
xor eax, eax
mov edi, 0x11048e40
push ebx
push 0xffffffffffffff80
push edx
rep stosd dword es:[edi], eax
mov dword [ebp + 8], ebx
call esi
mov ecx, dword [0x110492e8]
lea eax, [ebp + 8]
push ebx
push eax
push 0x80
push 0x11048e40
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov edx, dword [0x1102a090]
mov eax, dword [0x110492e8]
push ebx
push ebx
push edx
push eax
call esi
mov ecx, 3
mov edi, 0x11026234
mov esi, 0x11048e40
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x110016f9
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x33]
mov esi, 0x11048ea1
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, dword [0x11048ec4]
mov ecx, 7
sub edi, 0x80
xor eax, eax
mov dword [0x11048ec4], edi
lea edi, [ebp - 0x34]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edi, [ebp - 0x34]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ebp + ecx - 0x35]
mov cl, byte [ebp + ecx - 0x35]
cmp cl, 0x20
jne 0x11001684
lea ecx, [ebp - 0x34]
cmp eax, ecx
jb 0x11001684
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x20
je 0x11001674
push 2
lea edx, [ebp - 0x34]
push 0x11026230
push edx
mov byte [eax + 1], bl
call fcn.11019ae0
add esp, 0xc
test eax, eax
jne 0x110016bf
lea eax, [ebp - 0x32]
lea ecx, [ebp - 0x434]
push eax
push str.http:___s
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edi, [ebp - 0x434]
jmp 0x110016d9
push 7
lea eax, [ebp - 0x34]
push str.http:__
push eax
call fcn.11019ae0
add esp, 0xc
test eax, eax
jne 0x110016f9
lea edi, [ebp - 0x34]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x1104aa20
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x11048ec4]
mov esi, dword [0x11026350]
mov eax, ecx
cdq
and edx, 0x3ff
add eax, edx
xor edx, edx
sar eax, 0xa
cmp eax, esi
setle dl
mov eax, edx
cmp eax, ebx
mov dword [0x11048ec0], eax
je 0x1100179d
push ecx
push ebx
mov dword [0x11048e28], 0x11026058
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, ebx
mov dword [0x11026058], eax
jne 0x11001758
mov eax, dword [0x110492e8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x11048ec4]
mov edx, dword [0x110492e8]
push ebx
push 0x11048ec4
push ecx
push eax
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [0x110492e8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x11048ec4]
mov dword [0x110492e8], 0xffffffff
mov dword [0x11026060], ecx
mov dword [0x1102605c], ebx
jmp 0x110017b3
mov dword [0x11048e28], 0x11026048
mov dword [0x1102604c], ebx
mov dword [0x11026050], ebx
mov esi, 1
mov dword [0x110473bc], ebx
mov dword [0x11048e2c], esi
mov dword [0x110473b4], ebx
mov dword [0x110473c0], esi
mov dword [0x110473b8], ebx
call fcn.110101a0
call fcn.1100d050
call fcn.1100c3b0
call fcn.1100bc10
call fcn.1100a1e0
call fcn.11004630
xor edx, edx
mov ecx, 0x15
xor eax, eax
mov edi, 0x11047360
rep stosd dword es:[edi], eax
mov ecx, 0x484
mov edi, 0x11049320
rep stosd dword es:[edi], eax
mov dword [0x11038fa0], edx
mov dword [0x11047340], eax
mov dword [0x11038fa4], edx
mov dword [0x11047348], ebx
mov dword [0x11047344], eax
mov edi, 0x18
mov ecx, dword [0x11048e28]
call dword [ecx + 0xc]
push 3
push 0x1104a540
call fcn.11004790
add esp, 8
cmp eax, ebx
je 0x11001850
dec edi
jne 0x11001831
mov edx, dword [0x1104a544]
mov eax, dword [0x1104a540]
mov ecx, dword [0x1104a554]
lea eax, [edx + eax*2]
lea ecx, [ecx + eax*2]
add eax, ecx
mov eax, dword [eax*4 + 0x11028ac8]
cmp eax, ebx
mov dword [ebp + 8], eax
je 0x11001cbe
mov ecx, dword [0x1104a548]
lea eax, [edx + edx*2]
sub eax, ecx
mov ecx, dword [0x1104a550]
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*4]
add eax, ecx
cmp word [eax*2 + 0x11028b52], bx
je 0x11001cbe
cmp edi, ebx
jl 0x11001cbe
mov edi, dword [0x1104a560]
mov al, byte [0x1102a1aa]
cmp edi, 3
je 0x110018c4
cmp al, 2
mov dword [0x1104a884], esi
je 0x110018ca
mov dword [0x1104a884], ebx
cmp edi, 3
je 0x110018da
xor ecx, ecx
cmp al, 1
sete cl
mov eax, ecx
jmp 0x110018dc
xor eax, eax
mov ecx, 0x5f
mov esi, 0x1104a540
mov edi, 0x1104a8a0
mov dword [0x1104a700], eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 8]
mov ecx, dword [0x1104a704]
sar esi, cl
mov ecx, dword [0x1104a560]
mov edi, 1
cmp ecx, 3
mov dword [0x110492fc], edi
je 0x1100191c
neg eax
sbb eax, eax
add eax, 2
mov edi, eax
mov cl, byte [0x1102a1a9]
neg cl
sbb ecx, ecx
and ecx, 0xfffffff8
add ecx, 0x10
cmp edx, ebx
je 0x11001937
mov eax, 2
jmp 0x11001946
mov edx, dword [0x1104a548]
xor eax, eax
cmp edx, 1
setne al
inc eax
xor edx, edx
cmp ecx, 0x10
sete dl
inc edx
push 0xffffffffffffffff
imul edx, eax
imul edx, edi
mov eax, edx
push 0xffffffffffffffff
mov dword [0x11026030], ecx
push ecx
lea eax, [eax + eax*8]
mov ecx, dword [0x1102837c]
shl eax, 6
mov dword [0x11048e30], eax
mov eax, 0x8ca00
cdq
idiv dword [ebp + 8]
push edi
push esi
mov dword [0x11049318], ebx
mov dword [0x11049300], eax
call dword [ecx + 0x24]
add esp, 0x14
mov dword [0x11049304], esi
test eax, eax
jge 0x110019ed
mov eax, dword [0x11048e24]
test eax, eax
je 0x110019b3
call fcn.11019a70
pop edi
pop esi
mov eax, 0xffff8597
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x11048ec0]
test eax, eax
jne 0x110019d5
mov edx, dword [0x110492e8]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 0xffff8597
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x11026058]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
pop esi
mov eax, 0xffff8597
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x110492ec]
test ecx, ecx
jne 0x11001a71
test eax, eax
jne 0x11001a71
mov ecx, dword [0x1102837c]
call dword [ecx + 0x28]
mov edx, dword [0x110282f0]
push 0
push str.SHOUTcast_error
push str.Sorry__no_.WAV_writing_support_for_SHOUTcast_streams_ndue_to_copyright_issues.
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [0x11048e24]
test eax, eax
je 0x11001a37
call fcn.11019a70
pop edi
pop esi
mov eax, 0xfffffffd
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x11048ec0]
test eax, eax
jne 0x11001a58
mov eax, dword [0x110492e8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 0xfffffffd
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x11026058]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
pop esi
mov eax, 0xfffffffd
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x1104a540]
mov ecx, dword [0x1104a544]
lea ecx, [ecx + edx*2]
mov edx, dword [0x1104a554]
lea edx, [edx + ecx*2]
add ecx, edx
mov ecx, dword [ecx*4 + 0x11028ac8]
push ecx
push eax
call dword [0x11028348]
push edi
push esi
call dword [0x11028368]
mov edx, dword [0x1102837c]
push 0xfffffd66
call dword [edx + 0x3c]
mov ecx, dword [0x1104a544]
mov edi, dword [0x1104a548]
mov edx, dword [0x1104a550]
mov ebx, 1
lea eax, [ecx + ecx*2]
add esp, 0x14
sub eax, edi
mov dword [0x1104aa1c], ebx
lea eax, [eax + eax*2]
lea edx, [edx + eax*4]
add eax, edx
movsx eax, word [eax*2 + 0x11028b52]
mov dword [0x110492e4], eax
mov dword [0x110492f0], eax
lea edx, [eax + eax*4]
mov eax, dword [0x1104a540]
lea edx, [edx + edx*4]
lea eax, [ecx + eax*2]
mov ecx, dword [0x1104a554]
lea esi, [edx + edx*4]
lea edx, [ecx + eax*2]
add eax, edx
shl esi, 3
mov eax, dword [eax*4 + 0x11028ac8]
mov dword [0x1104a6fc], esi
mov dword [0x11048e34], eax
mov al, byte [0x1104a6e8]
test bl, al
je 0x11001b6d
mov edx, dword [0x1104a6e0]
mov ecx, dword [0x1104a6e4]
mov eax, dword [0x1104a6ec]
push ecx
neg edx
sbb edx, edx
and edx, 0x240
add edx, 0x240
push edx
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [0x11048ec4]
mov ecx, eax
lea eax, [edx*8]
cdq
idiv ecx
mov esi, eax
mov dword [0x1104a6fc], esi
cmp dword [0x1104a560], 3
jne 0x11001b7a
mov eax, ebx
jmp 0x11001b86
mov eax, dword [0x1104a700]
neg eax
sbb eax, eax
add eax, 2
mov ecx, dword [0x1104a704]
push 0xffffffffffffffff
mov edi, 0x3e8
push eax
mov eax, dword [0x11048e34]
shl edi, cl
cdq
idiv edi
push eax
mov eax, 0x10624dd3
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
call dword [0x11028378]
fild dword [0x11048ec4]
mov al, byte [0x1104a6e8]
add esp, 0x10
test bl, al
fmul qword [0x110201b0]
fidiv dword [0x1104a6fc]
fild dword [0x11048e34]
fmul st(1)
fstp qword [ebp - 0xc]
jne 0x11001bfd
fstp dword [ebp + 8]
fld dword [ebp + 8]
fistp dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
test eax, eax
mov dword [0x11026078], eax
jne 0x11001bff
mov dword [0x11026078], ebx
jmp 0x11001bff
fstp st(0)
mov edi, dword [0x1104a544]
xor eax, eax
test edi, edi
setne al
inc eax
lea ecx, [eax + eax*8]
shl ecx, 6
mov dword [0x11026074], ecx
fild dword [0x11026074]
fdivr qword [ebp - 0xc]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fistp dword [ebp - 0x14]
mov eax, dword [0x11048e24]
mov edx, dword [ebp - 0x14]
test eax, eax
mov dword [0x1104a6bc], edx
je 0x11001c47
mov dword [0x11026078], 0xffffffff
mov dword [0x11029f30], 0
push 0x1102a09c
test eax, eax
push 0
push 0x11029f30
jne 0x11001c68
push 0x11002b40
jmp 0x11001c6d
push 0x11002df0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
mov dword [0x11026070], eax
call dword [0x11028378]
add esp, 0x10
call fcn.1100d9c0
mov al, byte [0x1104aa20]
test al, al
je 0x11001cb5
mov eax, dword [0x110282f0]
push 0xf1
push 0x1104aa20
push 0x400
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x11048e24], ebx
jne 0x11001cf2
cmp dword [0x11048ec0], ebx
jne 0x11001ce5
mov ecx, dword [0x110492e8]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x11026058]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret