Function at 0x47a728
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0xf1
push 0
push 0
dec ecx
jne 0x47a731
xchg dword [ebp - 4], ecx
push ebx
push esi
mov byte [ebp - 0x6f3], cl
mov dword [ebp - 0x700], edx
mov dword [ebp - 4], eax
mov ecx, 0x10
lea eax, [ebp - 0x6f0]
mov edx, dword [0x479ae0]
call fcn.00404208
xor eax, eax
push ebp
push 0x47ae7b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 0x634], 0
je 0x47a78d
mov eax, dword [ebp - 4]
lea edx, [eax + 0x634]
mov eax, dword [ebp - 4]
call fcn.004795e8
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 4]
call fcn.00479800
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x634], ebx
test ebx, ebx
je 0x47adeb
cmp byte [ebp - 0x6f3], 0
je 0x47a81c
lea eax, [ebp - 0x710]
push eax
mov eax, dword [ebp - 0x700]
mov eax, dword [eax + 0x14]
mov ecx, 3
mov edx, 1
call fcn.00403e7c
mov eax, dword [ebp - 0x710]
mov edx, 0x47ae94
call fcn.00403d84
jne 0x47a81c
mov eax, dword [ebp - 0x700]
mov eax, dword [eax + 0x18]
mov edx, 0x47aea0
call fcn.00403d84
jae 0x47a81c
push 0x10
push 0x47aea8
push 0x47aeb4
mov eax, dword [ebp - 4]
call fcn.0043772c
push eax
call sub.user32.dll_MessageBoxA_1
jmp 0x47adeb
mov eax, dword [ebp - 0x700]
mov eax, dword [eax + 0x14]
mov edx, 0x47aefc
call fcn.00403d84
jne 0x47a8aa
lea eax, [ebp - 0x70c]
push eax
lea eax, [ebp - 0x708]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x634]
push eax
call sub.EastRiver.Dll_ReadCardLength
test al, al
je 0x47a8aa
cmp dword [ebp - 0x70c], 0x10
je 0x47a8aa
push 0x34
push 0x47af04
push 0x47af0c
mov eax, dword [ebp - 4]
call fcn.0043772c
push eax
call sub.user32.dll_MessageBoxA_1
cmp eax, 6
jne 0x47a894
push 0x10
mov eax, dword [ebp - 0x708]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x634]
push eax
call sub.EastRiver.Dll_SetCardLength
jmp 0x47a8aa
mov eax, dword [ebp - 4]
lea edx, [eax + 0x634]
mov eax, dword [ebp - 4]
call fcn.004795e8
jmp 0x47adeb
mov eax, dword [ebp - 0x700]
mov eax, dword [eax + 0x14]
mov edx, 0x47af48
call fcn.00403d84
jne 0x47a8c6
mov byte [ebp - 0x6f5], 1
lea eax, [ebp - 0x6f1]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x634]
push eax
call sub.EastRiver.Dll_ReadClockMark
lea eax, [ebp - 0x714]
push eax
mov eax, dword [ebp - 0x700]
mov eax, dword [eax + 0x14]
mov ecx, 3
mov edx, 1
call fcn.00403e7c
mov eax, dword [ebp - 0x714]
mov edx, 0x47ae94
call fcn.00403d84
jne 0x47a916
mov byte [ebp - 0x6f2], 1
jmp 0x47a91d
mov byte [ebp - 0x6f2], 0
xor edx, edx
push ebp
push 0x47ade1
push dword fs:[edx]
mov dword fs:[edx], esp
push ebp
call fcn.00479b04
pop ecx
mov dword [ebp - 0x6fc], 1
xor eax, eax
mov dword [ebp - 0x704], eax
lea eax, [ebp - 0x718]
push eax
mov eax, dword [ebp - 0x700]
mov eax, dword [eax + 4]
mov dword [ebp - 0x728], eax
mov byte [ebp - 0x724], 0xb
mov eax, dword [ebp - 0x700]
mov eax, dword [eax + 8]
mov dword [ebp - 0x720], eax
mov byte [ebp - 0x71c], 0xb
lea edx, [ebp - 0x728]
mov ecx, 1
mov eax, 0x47af58
call fcn.00408f70
mov edx, dword [ebp - 0x718]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.00431684
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [0x485120]
mov eax, dword [eax]
call fcn.0044f654
mov eax, dword [ebp - 4]
cmp byte [eax + 0x64c], 0
jne 0x47aa3e
lea eax, [ebp - 0x72c]
push eax
mov eax, dword [ebp - 0x700]
mov eax, dword [eax + 4]
mov dword [ebp - 0x744], eax
mov byte [ebp - 0x740], 0xb
mov eax, dword [ebp - 0x700]
mov eax, dword [eax + 8]
mov dword [ebp - 0x73c], eax
mov byte [ebp - 0x738], 0xb
mov eax, dword [ebp - 0x6fc]
dec eax
mov dword [ebp - 0x734], eax
mov byte [ebp - 0x730], 0
lea edx, [ebp - 0x744]
mov ecx, 2
mov eax, 0x47af74
call fcn.00408f70
mov edx, dword [ebp - 0x72c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.00431684
jmp 0x47ace1
push ebp
call fcn.00479ef4
pop ecx
test eax, eax
jle 0x47aadf
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x47aa64
inc ebx
xor esi, esi
push ebp
mov eax, esi
call fcn.0047a110
pop ecx
inc esi
dec ebx
jne 0x47aa57
cmp dword [ebp - 0x6fc], 0x11
jl 0x47aa88
mov eax, dword [ebp - 0x6fc]
dec eax
and eax, 0x8000000f
jns 0x47aa80
dec eax
or eax, 0xfffffff0
inc eax
test eax, eax
jne 0x47a9b1
lea eax, [ebp - 0x748]
push eax
mov eax, dword [ebp - 0x6fc]
dec eax
mov dword [ebp - 0x750], eax
mov byte [ebp - 0x74c], 0
lea edx, [ebp - 0x750]
xor ecx, ecx
mov eax, 0x47afac
call fcn.00408f70
mov edx, dword [ebp - 0x748]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.00431684
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov edx, dword [eax]
call dword [edx + 0x80]
jmp 0x47a9b1
inc eax
jne 0x47ab8a
push 0x96
push 0x9c4
call sub.kernel32.dll_Beep
lea eax, [ebp - 0x754]
push eax
mov eax, dword [ebp - 0x700]
mov eax, dword [eax + 8]
mov dword [ebp - 0x750], eax
mov byte [ebp - 0x74c], 0xb
lea edx, [ebp - 0x750]
xor ecx, ecx
mov eax, 0x47afc8
call fcn.00408f70
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.00431684
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [ebp - 4]
lea edx, [eax + 0x634]
mov eax, dword [ebp - 4]
call fcn.004795e8
push 0x3e8
call sub.kernel32.dll_Sleep
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 4]
call fcn.00479800
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x634], ebx
test ebx, ebx
je 0x47ace1
jmp 0x47a9b1
push 0x64
push 0x9c4
call sub.kernel32.dll_Beep
cmp dword [ebp - 0x6fc], 1
jle 0x47ac2b
lea eax, [ebp - 0x758]
push eax
mov eax, dword [ebp - 0x700]
mov eax, dword [eax + 4]
mov dword [ebp - 0x778], eax
mov byte [ebp - 0x774], 0xb
mov eax, dword [ebp - 0x700]
mov eax, dword [eax + 8]
mov dword [ebp - 0x770], eax
mov byte [ebp - 0x76c], 0xb
mov eax, dword [ebp - 0x6fc]
dec eax
mov dword [ebp - 0x768], eax
mov byte [ebp - 0x764], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x644]
mov dword [ebp - 0x760], eax
mov byte [ebp - 0x75c], 0xb
lea edx, [ebp - 0x778]
mov ecx, 3
mov eax, 0x47afe8
call fcn.00408f70
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.00431684
jmp 0x47ac87
lea eax, [ebp - 0x77c]
push eax
mov eax, dword [ebp - 0x700]
mov eax, dword [eax + 4]
mov dword [ebp - 0x728], eax
mov byte [ebp - 0x724], 0xb
mov eax, dword [ebp - 0x700]
mov eax, dword [eax + 8]
mov dword [ebp - 0x720], eax
mov byte [ebp - 0x71c], 0xb
lea edx, [ebp - 0x728]
mov ecx, 1
mov eax, 0x47b020
call fcn.00408f70
mov edx, dword [ebp - 0x77c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.00431684
lea edx, [ebp - 0x780]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.00431654
mov edx, dword [ebp - 0x780]
lea eax, [ebp - 0x39c]
call fcn.0040400c
call fcn.00405c3b
call fcn.004027dc
lea edx, [ebp - 0x784]
mov eax, 0x478c1c
call fcn.00405710
mov edx, dword [ebp - 0x784]
lea eax, [ebp - 0x39c]
call fcn.0040400c
call fcn.00405c3b
call fcn.004027dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47adeb
lea eax, [ebp - 0x39c]
call fcn.00405ae4
call fcn.004027dc
mov eax, dword [ebp - 4]
cmp dword [eax + 0x634], 0
je 0x47ad1b
mov eax, dword [ebp - 4]
lea edx, [eax + 0x634]
mov eax, dword [ebp - 4]
call fcn.004795e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov edx, dword [eax]
call dword [edx + 0x80]
lea eax, [ebp - 0x1d0]
call fcn.00405ae4
call fcn.004027dc
lea eax, [ebp - 0x570]
call fcn.00405ae4
call fcn.004027dc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x644]
xor edx, edx
call fcn.004084d0
mov ebx, eax
push 0
push ebx
call sub.kernel32.dll_GetFileSize_1
mov esi, eax
mov eax, ebx
call fcn.00408598
test esi, esi
jne 0x47ad99
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x644]
call fcn.00403e38
mov edx, eax
lea eax, [ebp - 0x788]
call fcn.00403bac
mov eax, dword [ebp - 0x788]
call fcn.00408618
xor edx, edx
mov eax, dword [ebp - 0x3a4]
call fcn.004084d0
mov ebx, eax
push 0
push ebx
call sub.kernel32.dll_GetFileSize_1
mov esi, eax
mov eax, ebx
call fcn.00408598
test esi, esi
jne 0x47ade0
mov eax, dword [ebp - 0x3a4]
call fcn.00403e38
mov edx, eax
lea eax, [ebp - 0x78c]
call fcn.00403bac
mov eax, dword [ebp - 0x78c]
call fcn.00408618
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47ae85
lea eax, [ebp - 0x78c]
mov edx, 3
call fcn.00403a18
lea eax, [ebp - 0x780]
call fcn.004039f4
lea eax, [ebp - 0x77c]
call fcn.004039f4
lea eax, [ebp - 0x758]
mov edx, 2
call fcn.00403a18
lea eax, [ebp - 0x748]
call fcn.004039f4
lea eax, [ebp - 0x72c]
call fcn.004039f4
lea eax, [ebp - 0x718]
mov edx, 3
call fcn.00403a18
lea eax, [ebp - 0x6f0]
mov ecx, 0x10
mov edx, dword [0x479ae0]
call fcn.004042d4
lea eax, [ebp - 0x3a4]
mov edx, 2
call fcn.00403a18
ret