Function at 0x401434
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x194
mov eax, dword [0x423f04]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 7
pop ecx
lea edi, [ebp - 0x28]
mov dword [ebp - 8], eax
xor ebx, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov esi, eax
mov edi, edx
shl esi, 0xa
mov ecx, section..ndata
mov dword [ebp - 4], ebx
shl edi, 0xa
add esi, ecx
add edi, ecx
lea ecx, [ebp - 0x24]
mov dword [0x4093a0], ecx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffffe
cmp ecx, 0x41
ja 0x40291a
jmp dword [ecx*4 + 0x40292c]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x14], ecx
mov esi, dword [ebp - 0x14]
mov edx, dword [esi + 0x18]
shr edx, 0xb
test dl, 1
jne 0x402682
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
mov ecx, esi
call edx
test al, al
je 0x4026e5
mov ecx, dword [ebp - 8]
mov eax, dword [ecx + 0x20]
shr eax, 2
and eax, 0x3f
and eax, 0x80000001
jns 0x40269a
dec eax
or eax, 0xfffffffe
inc eax
mov edx, dword [ecx]
jne 0x4026a3
mov eax, dword [edx + 0x58]
jmp 0x4026a6
mov eax, dword [edx + 0x54]
call eax
mov ecx, dword [ebp - 0xc]
cmp ecx, eax
jne 0x4026e8
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x20]
shr eax, 2
and eax, 0x3f
and eax, 0x80000001
jns 0x4026c7
dec eax
or eax, 0xfffffffe
inc eax
mov ebx, dword [ebp - 0x10]
jne 0x402c35
mov ecx, dword [ebp - 0x18]
push ecx
lea edx, [ebp - 0x50]
push edx
or ebx, 4
call 0x47a443
jmp 0x402c45
mov ecx, dword [ebp - 0xc]
mov edx, dword [esi + 0x18]
shr edx, 7
test dl, 1
jne 0x4026f9
cmp dword [esi + 8], 0
jne 0x402748
mov ecx, dword [ebp - 8]
call 0x680643
mov dword [ebp - 8], eax
test eax, eax
je 0x402c68
mov ecx, dword [eax + 0x20]
mov esi, dword [eax + 0x10]
shr ecx, 2
and ecx, 0x3f
and ecx, 0x80000001
mov dword [ebp - 0x14], esi
jns 0x402728
dec ecx
or ecx, 0xfffffffe
inc ecx
mov edx, dword [eax]
mov ecx, eax
jne 0x40273b
mov eax, dword [edx + 0x58]
call eax
mov dword [ebp - 0xc], eax
jmp 0x40266a
mov eax, dword [edx + 0x54]
call eax
mov dword [ebp - 0xc], eax
jmp 0x40266a
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x20]
shr eax, 2
and eax, 0x3f
and eax, 0x80000001
jns 0x402760
dec eax
or eax, 0xfffffffe
inc eax
mov edx, dword [esi]
push ecx
mov ecx, esi
jne 0x40276f
mov eax, dword [edx + 0x248]
jmp 0x402775
mov eax, dword [edx + 0x250]
call eax
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x54]
call eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov esi, eax
mov eax, dword [edx + 0x58]
call eax
mov ecx, eax
mov eax, dword [ebp - 0xc]
cmp eax, esi
jle 0x4027a1
cmp eax, ecx
jl 0x4029d9
mov edi, dword [ebp - 8]
mov edx, dword [edi + 0x20]
shr edx, 2
movzx ebx, dl
and ebx, 0x3f
and ebx, 0x80000001
jns 0x4027bd
dec ebx
or ebx, 0xfffffffe
inc ebx
jne 0x4027ca
xor ecx, ecx
cmp eax, esi
setl cl
mov eax, ecx
jmp 0x4027d3
xor ebx, ebx
cmp eax, ecx
setg bl
mov eax, ebx
mov ecx, edi
test eax, eax
je 0x402825
call 0x6806c3
mov ecx, eax
test ecx, ecx
je 0x402cb9
mov dword [ebp - 8], ecx
mov edx, dword [ecx + 0x20]
mov esi, dword [ecx + 0x10]
shr edx, 2
and edx, 0x3f
and edx, 0x80000001
mov dword [ebp - 0x14], esi
jns 0x402807
dec edx
or edx, 0xfffffffe
inc edx
mov eax, dword [ecx]
jne 0x402818
mov edx, dword [eax + 0x58]
call edx
mov dword [ebp - 0xc], eax
jmp 0x40266a
mov edx, dword [eax + 0x54]
call edx
mov dword [ebp - 0xc], eax
jmp 0x40266a
invalid
and dl, 0x3f
mov bl, dl
call 0x680643
mov ecx, dword [ebp - 8]
mov esi, eax
mov eax, dword [ecx + 0x20]
shr eax, 2
and eax, 0x3f
and eax, 0x80000001
jns 0x402849
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x1c]
jne 0x4028dc
test esi, esi
je 0x4029f2
mov eax, dword [esi + 0x20]
shr eax, 2
and al, 0x3f
mov byte [ebp - 1], al
cmp al, bl
jae 0x4029d6
nop
call 0x6805f3
mov ecx, eax
test ecx, ecx
je 0x40289d
mov edx, dword [ecx + 0x20]
shr edx, 2
and dl, 0x3f
cmp dl, byte [ebp - 1]
ja 0x402873
mov eax, dword [ecx + 0x20]
shr eax, 2
and al, 0x3f
cmp al, byte [ebp - 1]
je 0x4029d6
mov dword [ebp - 8], esi
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x14], ecx
mov ecx, esi
call 0x5873
mov edx, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov ecx, dword [edx + 0x20]
shr ecx, 2
and ecx, 0x3f
and ecx, 0x80000001
jns 0x4028c9
dec ecx
or ecx, 0xfffffffe
inc ecx
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [ebp - 0x1c]
je 0x4029d9
jmp 0x402667
test esi, esi
je 0x40290b
lea ecx, [ecx]
mov eax, dword [esi + 0x10]
mov edx, dword [eax + 0x18]
shr edx, 7
test dl, 1
jne 0x4028fb
cmp dword [eax + 8], 0
jne 0x402985
mov ecx, esi
call 0x680643
mov esi, eax
test esi, esi
jne 0x4028e3
mov ecx, dword [ebp - 8]
call 0x6805f3
test eax, eax
je 0x40292f
mov ecx, dword [eax + 0x20]
shr ecx, 2
and cl, 0x3f
cmp cl, bl
jb 0x40292f
mov ecx, eax
mov dword [ebp - 8], eax
call 0x6805f3
test eax, eax
jne 0x402914
mov ecx, dword [ebp - 8]
mov eax, dword [ecx + 0x20]
shr eax, 2
and al, 0x3f
cmp al, bl
je 0x402a4e
mov bl, al
call 0x680643
test eax, eax
je 0x40296e
lea ebx, [ebx]
mov edx, dword [eax + 0x20]
shr edx, 2
and dl, 0x3f
cmp dl, bl
jb 0x40296e
mov ecx, eax
mov dword [ebp - 8], eax
call 0x680643
test eax, eax
jne 0x402953
mov ecx, dword [ebp - 8]
mov eax, dword [ecx + 0x20]
shr eax, 2
and al, 0x3f
cmp al, bl
je 0x402a4e
mov bl, al
jmp 0x40290b
mov dword [ebp - 8], esi
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [ebp - 0x14], eax
call 0x5873
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov edx, dword [ecx + 0x20]
shr edx, 2
and dl, 0x3f
cmp dl, bl
jbe 0x4029d9
mov ecx, esi
call 0x680643
mov esi, eax
test esi, esi
je 0x402667
mov eax, dword [esi + 0x20]
shr eax, 2
and al, 0x3f
cmp al, bl
ja 0x4029a8
mov ecx, dword [esi + 0x20]
shr ecx, 2
and cl, 0x3f
cmp cl, bl
jb 0x402667
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x18]
shr edx, 7
test dl, 1
je 0x402a76
xor ecx, ecx
jmp 0x402a79
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
cmp esi, 1
jne 0x402a13
lea edx, [ebp - 0x20]
push edx
call 0x6805d3
mov ecx, eax
call 0x6ee0d3
jmp 0x402a23
lea eax, [ebp - 0x20]
push eax
call 0x6805d3
mov ecx, eax
call 0x6ee1b3
test eax, eax
je 0x4029d6
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 8], ecx
mov edx, dword [ecx + 0x10]
mov eax, dword [ecx]
mov dword [ebp - 0x14], edx
cmp esi, 1
jne 0x402a44
mov edx, dword [eax + 0x54]
call edx
mov dword [ebp - 0xc], eax
jmp 0x4029d9
mov edx, dword [eax + 0x58]
call edx
mov dword [ebp - 0xc], eax
jmp 0x4029d9
cmp dword [ebp - 0x1c], 1
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx]
mov dword [ebp - 0x14], eax
jne 0x402a69
mov eax, dword [edx + 0x54]
call eax
mov dword [ebp - 0xc], eax
jmp 0x4029d9
invalid
mov eax, dword [edx + 0x58]
call eax
mov dword [ebp - 0xc], eax
jmp 0x4029d9
mov ecx, dword [ecx + 8]
push eax
push ecx
mov eax, esp
mov dword [eax], ecx
test ecx, ecx
je 0x402a86
invalid
inc ecx