Function at 0x1004aa40
Capabilities:
Get file size

Disassembly:
sub esp, 0x92c
mov eax, dword [0x1017455c]
xor eax, esp
mov dword [esp + 0x924], eax
push ebx
push ebp
push esi
push edi
push 0x207
lea eax, [esp + 0x1d]
mov esi, ecx
push 0
push eax
mov dword [esp + 0x1c], esi
mov byte [esp + 0x24], 0
call fcn.10116880
add esp, 0xc
push 0x207
lea ecx, [esp + 0x225]
push 0
push ecx
mov byte [esp + 0x22c], 0
call fcn.10116880
add esp, 0xc
test esi, esi
je 0x1004b139
mov al, byte [esi]
test al, al
je 0x1004b139
cmp byte [esi + 1], 0x3a
jne 0x1004ab1a
movsx edx, al
push edx
call fcn.10110cf8
add esp, 4
cmp eax, 0x41
je 0x1004aad0
movsx eax, byte [esi]
push eax
call fcn.10110cf8
add esp, 4
cmp eax, 0x42
jne 0x1004ab1a
mov eax, 0x10152cc4
mov ecx, esi
call fcn.10031890
test eax, eax
je 0x1004ab10
mov eax, 0x10152cc8
mov ecx, esi
call fcn.10031890
test eax, eax
je 0x1004ab10
mov eax, 0x10152ccc
mov ecx, esi
call fcn.10031890
test eax, eax
je 0x1004ab10
mov eax, 0x10152cd0
mov ecx, esi
call fcn.10031890
test eax, eax
jne 0x1004ab1a
mov eax, 1
jmp 0x1004b13b
push 0
push 0
xor edx, edx
mov ecx, esi
call fcn.10044660
add esp, 8
test eax, eax
jne 0x1004ab3a
mov esi, 1
mov eax, esi
jmp 0x1004b13b
push 0x208
lea ecx, [esp + 0x1c]
push esi
push ecx
call fcn.1010ffa3
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1004ab52
sub eax, edx
cmp eax, 0x208
jb 0x1004ab69
mov byte [esp + 0x21f], cl
lea edx, [esp + 0x18]
push 0x2c
push edx
mov byte [esp + 0x228], 0
call fcn.1010d780
mov esi, eax
add esp, 8
test esi, esi
je 0x1004ab9f
push 0
push 0
xor edx, edx
lea ecx, [esp + 0x20]
call fcn.10044660
add esp, 8
test eax, eax
je 0x1004ab9f
mov byte [esi], 0
lea esi, [esp + 0x18]
call fcn.1005b380
call fcn.1005b450
mov eax, esi
push 0x22
push eax
call fcn.1011063b
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcpyA]
add esp, 8
test eax, eax
je 0x1004accd
cmp byte [esp + 0x18], 0x22
jne 0x1004accd
add eax, 1
je 0x1004b139
cmp byte [eax], 0
je 0x1004b139
mov edi, 0x208
mov esi, eax
lea ebx, [esp + 0x18]
call fcn.1004d250
mov ecx, ebx
push 0x22
push ecx
call fcn.1011063b
mov esi, eax
add esp, 8
test esi, esi
je 0x1004accd
push 0x103
lea edx, [esp + 0x42d]
push 0
push edx
mov byte [esp + 0x434], 0
call fcn.10116880
add esp, 0xc
mov eax, ebx
push eax
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 4
jle 0x1004accd
cmp byte [esp + eax + 0x14], 0x2e
je 0x1004accd
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
xor esi, esi
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x42c]
push edx
call ebp
test esi, esi
jne 0x1004ac75
push str..com
lea eax, [esp + 0x42c]
push eax
jmp 0x1004ac9b
cmp esi, 1
jne 0x1004ac89
push str..exe
lea ecx, [esp + 0x42c]
push ecx
jmp 0x1004ac9b
cmp esi, 2
jne 0x1004ac9d
push str..bat
lea edx, [esp + 0x42c]
push edx
call edi
push 0
push 0
xor edx, edx
lea ecx, [esp + 0x430]
call fcn.10044660
add esp, 8
test eax, eax
je 0x1004acbe
inc esi
cmp esi, 3
jl 0x1004ac53
jmp 0x1004accd
lea eax, [esp + 0x428]
push eax
lea ecx, [esp + 0x1c]
push ecx
call ebp
lea ecx, [esp + 0x18]
call fcn.1005b2d0
lea edx, [esp + 0x18]
push edx
call sym.EncDec.dll_ConvertDeviceName
push 1
lea eax, [esp + 0x1c]
push eax
call sym.EncDec.dll_IsItEnvStringType
call fcn.1004f190
test eax, eax
je 0x1004ad60
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x224]
push edx
call ebp
lea eax, [esp + 0x220]
push str.__x86_
push eax
call fcn.1010ddc0
add esp, 8
push 0
test eax, eax
je 0x1004ad3b
push 0x1013f817
lea ecx, [esp + 0x228]
push str.__x86_
push ecx
call fcn.10047ed0
add esp, 0x10
jmp 0x1004ad60
push str.progra1_
lea edx, [esp + 0x228]
push str.progra2_
push edx
call fcn.10047ed0
add esp, 0x10
test eax, eax
jne 0x1004ad60
mov byte [esp + 0x220], al
lea esi, [esp + 0x18]
call fcn.1004a050
cmp byte [esp + 0x220], 0
je 0x1004ad7f
lea esi, [esp + 0x220]
call fcn.1004a050
lea eax, [esp + 0x18]
push 0x20
push eax
call fcn.1010d780
add esp, 8
test eax, eax
je 0x1004ae67
lea ecx, [esp + 0x18]
push 0x2f
push ecx
call fcn.1010d780
add esp, 8
test eax, eax
je 0x1004ae67
push 0
push 0
xor edx, edx
lea ecx, [esp + 0x20]
call fcn.10044660
add esp, 8
test eax, eax
je 0x1004ae67
lea edx, [esp + 0x18]
push 0x20
push edx
call fcn.1010d780
mov edi, eax
lea eax, [esp + 0x20]
push 0x2f
push eax
call fcn.1010d780
add esp, 0x10
cmp edi, eax
jbe 0x1004ae67
push 0x3ff
lea ecx, [esp + 0x535]
push 0
push ecx
mov byte [esp + 0x53c], 0
call fcn.10116880
add esp, 0xc
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x534]
push eax
call ebp
push 0
push 0x10149ea8
lea ecx, [esp + 0x538]
push 0x101483c4
push ecx
call fcn.10047ed0
lea esi, [esp + 0x540]
call fcn.1004a050
push 0
push 0
xor edx, edx
mov ecx, esi
call fcn.10044660
add esp, 0x18
test eax, eax
je 0x1004ae58
mov byte [edi], 0
jmp 0x1004ae67
lea edx, [esp + 0x530]
push edx
lea eax, [esp + 0x1c]
push eax
call ebp
cmp byte [esp + 0x220], 0
je 0x1004af72
lea ecx, [esp + 0x220]
push 0x20
push ecx
call fcn.1010d780
add esp, 8
test eax, eax
je 0x1004af72
lea edx, [esp + 0x220]
push 0x2f
push edx
call fcn.1010d780
add esp, 8
test eax, eax
je 0x1004af72
push 0
push 0
xor edx, edx
lea ecx, [esp + 0x228]
call fcn.10044660
add esp, 8
test eax, eax
je 0x1004af72
lea eax, [esp + 0x220]
push 0x20
push eax
call fcn.1010d780
lea ecx, [esp + 0x228]
push 0x2f
push ecx
mov edi, eax
call fcn.1010d780
add esp, 0x10
cmp edi, eax
jbe 0x1004af72
push 0x3ff
lea edx, [esp + 0x535]
push 0
push edx
mov byte [esp + 0x53c], 0
call fcn.10116880
add esp, 0xc
lea eax, [esp + 0x220]
push eax
lea ecx, [esp + 0x534]
push ecx
call ebp
push 0
push 0x10149ea8
lea edx, [esp + 0x538]
push 0x101483c4
push edx
call fcn.10047ed0
lea esi, [esp + 0x540]
call fcn.1004a050
push 0
push 0
xor edx, edx
mov ecx, esi
call fcn.10044660
add esp, 0x18
test eax, eax
je 0x1004af60
mov byte [edi], 0
jmp 0x1004af72
lea eax, [esp + 0x530]
push eax
lea ecx, [esp + 0x224]
push ecx
call ebp
push 0
push 0
xor edx, edx
lea ecx, [esp + 0x20]
call fcn.10044660
add esp, 8
test eax, eax
jne 0x1004afd4
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x18]
mov edx, edi
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1004af96
push 0x2f
push edi
mov esi, 1
call fcn.1010d780
add esp, 8
test eax, eax
je 0x1004b135
push 0
push 0x10149ea8
push 0x101483c4
push edi
call fcn.10047ed0
add esp, 0x10
mov eax, esi
jmp 0x1004b13b
push 0x2000000
push 3
push 3
push closesocket
lea edi, [esp + 0x28]
call fcn.10033690
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileSize]
add esp, 0x10
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
jne 0x1004b05f
mov ebp, dword [esp + 0x10]
mov edx, ebp
mov ecx, edi
xor esi, esi
mov eax, edi
sub edx, ecx
jmp 0x1004b010
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1004b010
cmp byte [esp + 0x220], 0
je 0x1004b135
push 0
push 0
xor edx, edx
lea ecx, [esp + 0x228]
call fcn.10044660
add esp, 8
test eax, eax
jne 0x1004b0a5
lea eax, [esp + 0x220]
mov edx, ebp
mov ecx, eax
sub edx, ecx
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1004b050
jmp 0x1004b10c
push 0
push eax
call ebx
lea edx, [esp + 0x14]
push edx
call fcn.100673f0
lea eax, [esp + 0x18]
call fcn.10044c10
cmp eax, 0xffffffff
je 0x1004b088
test al, 0x10
je 0x1004b088
mov ebp, dword [esp + 0x10]
xor esi, esi
jmp 0x1004b01a
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x18]
mov edx, edi
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1004b096
jmp 0x1004afa0
push 0x2000000
push 3
push 3
push closesocket
lea edi, [esp + 0x230]
call fcn.10033690
add esp, 0x10
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
jne 0x1004b0d1
xor esi, esi
mov eax, esi
jmp 0x1004b13b
push 0
push eax
call ebx
lea edx, [esp + 0x14]
push edx
call fcn.100673f0
lea eax, [esp + 0x220]
call fcn.10044c10
cmp eax, 0xffffffff
je 0x1004b0f5
test al, 0x10
jne 0x1004b0cb
lea eax, [esp + 0x220]
mov edx, ebp
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1004b102
push 0x2f
push ebp
mov esi, 1
call fcn.1010d780
add esp, 8
test eax, eax
je 0x1004b135
push 0
push 0x10149ea8
push 0x101483c4
push ebp
call fcn.10047ed0
add esp, 0x10
mov eax, esi
jmp 0x1004b13b
xor eax, eax
mov ecx, dword [esp + 0x934]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1010d699
add esp, 0x92c
ret