Function at 0x425720
Capabilities:
Get file size

Disassembly:
push 0xffffffffffffffff
push 0x4fe5c6
mov eax, dword fs:[0]
push eax
sub esp, 0x754
mov eax, dword [0x52e144]
xor eax, esp
mov dword [esp + 0x750], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x52e144]
xor eax, esp
push eax
lea eax, [esp + 0x768]
mov dword fs:[0], eax
cmp byte [0x548d6e], 0
mov dword [esp + 0x1c], 0x53b65c
sete bl
mov byte [esp + 0x20], bl
cmp bl, 1
jne 0x42578a
cmp dword [0x53b674], 0
je 0x42578a
push 0x53b65c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [0x52a6ec]
mov dword [esp + 0x770], 0
cmp esi, 0xffffffff
jne 0x4257a8
cmp bl, 1
jmp 0x425e59
push 0x103
lea eax, [esp + 0x561]
push 0
push eax
mov byte [esp + 0x568], 0
call fcn.004b6dc0
push 0x103
lea ecx, [esp + 0x671]
push 0
push ecx
mov byte [esp + 0x678], 0
call fcn.004b6dc0
add esp, 0x18
push 0x28
lea edx, [esp + 0x30]
push edx
push 4
lea eax, [esp + 0x784]
push eax
push 0x84020050
lea ecx, [esp + 0x38]
push ecx
push 0
push 0
push 0
push esi
call dword [0x53b390]
test eax, eax
je 0x425833
push eax
push 0x5144cc
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp bl, 1
jmp 0x425e59
mov edx, dword [esp + 0x778]
push edx
call fcn.0043d1a0
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
jne 0x425855
cmp bl, 1
jmp 0x425e59
xor ebp, ebp
xor edi, edi
lea esp, [esp]
mov eax, dword [esp + edi*4 + 0x2c]
xor bl, bl
test eax, eax
je 0x425ddc
lea ecx, [esp + 0x55c]
push ecx
push eax
push esi
mov ecx, 0x53b678
call fcn.00408d80
lea edx, [esp + 0x660]
push edx
push 0x10000000
push esi
mov ecx, 0x53b678
call fcn.00408d80
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x660]
mov byte [esp + eax + 0x458], cl
inc eax
test cl, cl
jne 0x4258a0
lea eax, [esp + 0x660]
push 0x5c
push eax
call fcn.004b6d8c
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x4258d0
mov byte [ebp], 0
inc ebp
push ebp
lea ecx, [esp + 0x560]
push ecx
push 0x5144b8
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
lea edx, [esp + 0x56c]
push edx
call fcn.004b8cce
push ebp
call fcn.004b8cce
push 0x5144a8
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0x24
test eax, eax
jne 0x425ca1
push 0x514494
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514484
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514474
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514464
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514454
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514438
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514424
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514410
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514400
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x5143ec
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x5143dc
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x5143cc
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x5143b8
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x5143a8
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514398
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514384
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514374
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514364
call fcn.00404690
push eax
lea eax, [esp + 0x564]
push eax
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514350
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514338
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514328
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514314
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514300
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x5142f0
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x5142dc
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x5142c8
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x5142b0
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514294
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x51427c
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514268
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca1
push 0x514258
call fcn.00404690
push eax
push ebp
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x425ca8
lea ecx, [esp + 0x55c]
push ebp
push ecx
call fcn.004b9929
add esp, 8
test eax, eax
je 0x425c92
mov bl, 1
inc edi
cmp edi, 0xa
jl 0x425860
jmp 0x425ddc
mov bl, 1
jmp 0x425ddc
push 0x104
lea edx, [esp + 0x45c]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [esp + 0x458]
push 0x5c
push eax
call fcn.004b6d8c
add esp, 8
test eax, eax
je 0x425cd6
mov byte [eax], 0
lea ecx, [esp + 0x458]
push 0x5c
push ecx
call fcn.004b6d8c
add esp, 8
test eax, eax
je 0x425cef
mov byte [eax], 0
lea edi, [esp + 0x458]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x425cf7
mov dx, word [0x50e37c]
mov eax, ebp
mov word [edi], dx
mov esi, eax
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x425d10
lea edi, [esp + 0x458]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x425d21
mov ecx, eax
shr ecx, 2
push 0
rep movsd dword es:[edi], dword [esi]
push 0x80
push 3
push 0
push 1
mov ecx, eax
push closesocket
lea eax, [esp + 0x470]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x54]
mov dword [esp + 0x14], 0
call fcn.00407250
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x45c]
push edx
lea ecx, [esp + 0x5c]
mov byte [esp + 0x778], 1
call fcn.00407700
mov eax, dword [esp + 0x14]
push eax
push edi
push 0x51423c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
cmp dword [esp + 0x14], 0x5be82914
mov byte [esp + 0x770], 0
lea ecx, [esp + 0x54]
jne 0x425dd3
mov bl, 1
call fcn.004011c0
mov esi, dword [esp + 0x18]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test bl, bl
jne 0x425e54
push ebp
push 0x514228
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov ecx, dword [0x53b548]
add esp, 0xc
push 0
push 0
push ecx
push 0x5132b4
call fcn.00404690
add esp, 4
push eax
lea edx, [esp + 0x56c]
push edx
push 0x514214
push 0
push 0x11172
push 0x20
push 2
call fcn.0043c0b0
add esp, 0x28
cmp dword [esp + 0x77c], 0x14
jne 0x425e54
cmp dword [0x537d78], 0
jne 0x425e54
call fcn.00418810
cmp byte [esp + 0x20], 1
jne 0x425e6f
cmp dword [0x53b674], 0
je 0x425e6f
push 0x53b65c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
mov ecx, dword [esp + 0x768]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x750]
xor ecx, esp
call fcn.004b6da3
add esp, 0x760
ret