Function at 0x419030
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov ebp, dword [esp + 0x78]
cmp ebp, 0x17
jle 0x419429
mov eax, dword [esp + 0x7c]
mov dword [eax + 0x10], 0
mov edx, dword [esp + 0x74]
movzx ecx, byte [edx]
cmp cl, 0x52
jne 0x41971a
mov ebx, dword [esp + 0x74]
movzx eax, byte [ebx + 1]
cmp al, 0x49
jne 0x4196dd
mov esi, dword [esp + 0x74]
cmp byte [esi + 2], 0x46
jne 0x419c61
cmp byte [esi + 3], 0x46
jne 0x419c61
add esi, 8
mov dword [esp + 0x44], esi
lea edi, [ebp - 8]
xor eax, eax
mov dword [esp + 0x48], 0
mov edx, dword [esp + 0x44]
cmp byte [edx], 0x57
jne 0x419429
cmp byte [edx + 1], 0x41
jne 0x419429
cmp byte [edx + 2], 0x56
jne 0x419429
cmp byte [edx + 3], 0x45
jne 0x419429
lea ecx, [edx + 4]
mov dword [esp + 0x4c], ecx
sub edi, 4
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x419cd1
cmp edi, 0x23
jle 0x419429
mov esi, edx
cmp byte [edx + 4], 0x64
jne 0x419429
cmp byte [edx + 5], 0x73
jne 0x419429
cmp byte [edx + 6], 0x36
jne 0x419429
cmp byte [edx + 7], 0x34
jne 0x419429
test eax, eax
jne 0x4195c5
movzx ecx, byte [edx + 0xb]
shl ecx, 8
movzx eax, byte [edx + 0xa]
or eax, ecx
shl eax, 8
movzx edx, byte [edx + 9]
or edx, eax
shl edx, 8
movzx esi, byte [esi + 8]
or esi, edx
add esi, 8
cmp esi, 0x23
jbe 0x419429
mov ebx, dword [esp + 0x4c]
lea ebx, [ebx + esi]
sub edi, esi
mov dword [esp + 0x24], 0
mov dword [esp + 0x3c], 8
mov dword [esp + 0x38], 8
mov edx, dword [esp + 0x74]
mov dword [esp + 0x30], edx
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], ecx
mov esi, ecx
sar esi, 0x1f
mov dword [esp + 0x2c], esi
cmp edi, ecx
jl 0x4194a1
mov eax, dword [esp + 0x3c]
add eax, ebx
mov dword [esp + 0x18], eax
sub edi, ecx
mov dword [esp + 0x20], edi
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x419433
cmp byte [ebx], 0x66
jne 0x4194f3
cmp byte [ebx + 1], 0x6d
jne 0x4194f3
cmp byte [ebx + 2], 0x74
jne 0x4194f3
cmp byte [ebx + 3], 0x20
jne 0x4194f3
mov eax, edi
mov ecx, dword [esp + 0x18]
cmp eax, 0xf
jbe 0x419547
lea edx, [ecx + 0x10]
mov dword [esp + 0x20], edx
sub eax, 0x10
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x7c]
mov esi, dword [eax + 0x10]
movzx edx, word [ecx + 2]
test esi, esi
je 0x4195e9
xchg dl, dh
movzx edi, dx
mov eax, dword [esp + 0x7c]
mov dword [eax], edi
movzx eax, byte [ecx + 4]
shl eax, 8
movzx edx, byte [ecx + 5]
or edx, eax
shl edx, 8
movzx eax, byte [ecx + 6]
or eax, edx
shl eax, 8
movzx edx, byte [ecx + 7]
or edx, eax
mov eax, dword [esp + 0x7c]
mov dword [eax + 8], edx
movzx edx, word [ecx + 0xe]
xchg dl, dh
movzx eax, dx
mov edx, dword [esp + 0x7c]
mov dword [edx + 4], eax
test edi, edi
je 0x41925a
movzx eax, word [ecx + 0xc]
xchg al, ah
movzx eax, ax
xor edx, edx
div edi
add eax, eax
add eax, eax
add eax, eax
mov edi, dword [esp + 0x7c]
mov dword [edi + 4], eax
movzx ecx, word [ecx]
xchg cl, ch
movzx edi, cx
cmp edi, 0xfffe
je 0x41964b
mov edx, dword [esp + 0x7c]
mov dword [edx + 0xc], edi
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x4197ef
mov ebx, dword [esp + 0x30]
add ebx, 0x10
test esi, esi
jne 0x419b9c
movzx esi, byte [ebx + 7]
xor edi, edi
shld edi, esi, 8
shl esi, 8
movzx eax, byte [ebx + 6]
xor ecx, ecx
or esi, eax
or edi, ecx
shld edi, esi, 8
shl esi, 8
movzx eax, byte [ebx + 5]
xor edx, edx
or esi, eax
or edi, edx
shld edi, esi, 8
shl esi, 8
movzx ecx, byte [ebx + 4]
xor eax, eax
or esi, ecx
or edi, eax
shld edi, esi, 8
shl esi, 8
movzx ecx, byte [ebx + 3]
xor edx, edx
or esi, ecx
or edi, edx
shld edi, esi, 8
shl esi, 8
movzx eax, byte [ebx + 2]
xor ecx, ecx
or esi, eax
or edi, ecx
shld edi, esi, 8
shl esi, 8
movzx eax, byte [ebx + 1]
xor edx, edx
or esi, eax
or edi, edx
shld edi, esi, 8
shl esi, 8
movzx ebx, byte [ebx]
xor ecx, ecx
or esi, ebx
or edi, ecx
mov ebx, dword [esp + 0x38]
mov eax, ebx
cdq
cmp esi, ebx
mov ecx, edi
sbb ecx, edx
jb 0x419429
mov ecx, esi
mov ebx, edi
sub ecx, eax
sbb ebx, edx
and esi, 1
xor edx, edx
or esi, edx
je 0x419339
and ecx, 0xfffffff8
add ecx, 8
adc ebx, 0
add ecx, 0xfffffff0
adc ebx, 0xffffffff
mov edi, 0x7fffffef
cmp edi, ecx
mov eax, 0xffffffff
sbb eax, ebx
jb 0x419429
mov edi, dword [esp + 0x18]
sub edi, ecx
mov esi, dword [esp + 0x38]
cmp edi, esi
jl 0x419c1d
mov esi, dword [esp + 0x20]
add esi, ecx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
sar eax, 0x1f
mov dword [esp + 0x1c], eax
mov ebx, edi
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x38]
cmp ebx, edx
jl 0x419886
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x38]
sub ebx, edx
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x419821
cmp byte [esi], 0x64
jne 0x419909
cmp byte [esi + 1], 0x61
jne 0x419909
cmp byte [esi + 2], 0x74
jne 0x419909
cmp byte [esi + 3], 0x61
jne 0x419909
mov edi, ebx
test ecx, ecx
jne 0x419a89
movzx ecx, byte [esi + 7]
shl ecx, 8
movzx ebx, byte [esi + 6]
or ebx, ecx
shl ebx, 8
movzx edx, byte [esi + 5]
or edx, ebx
shl edx, 8
movzx esi, byte [esi + 4]
or esi, edx
xor edx, edx
mov eax, dword [esp + 0x80]
mov dword [eax], esi
mov dword [eax + 4], edx
mov ecx, esi
not ecx
or ecx, edx
jne 0x41941b
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x419d8c
mov eax, ebp
sub eax, edi
test eax, eax
jg 0x41942b
je 0x419e12
xor eax, eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [ebx], 0x20746d66
je 0x419509
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov edi, dword [esp + 0x7c]
mov esi, dword [edi + 0x10]
test esi, esi
je 0x41945a
mov edi, eax
mov eax, edx
bswap eax
bswap edi
mov edx, edi
cmp eax, ecx
mov esi, edx
sbb esi, dword [esp + 0x2c]
jb 0x419429
mov esi, eax
sub esi, dword [esp + 0x28]
sbb edx, dword [esp + 0x2c]
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edx
and eax, 1
xor edi, edi
or eax, edi
mov esi, dword [esp + 0x30]
je 0x419489
and esi, 0xfffffff8
add esi, 8
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x18]
add ebx, esi
mov edi, dword [esp + 0x20]
sub edi, esi
cmp edi, ecx
jge 0x419188
test edi, edi
jns 0x419582
mov dword [esp + 0x20], ecx
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov dword [esp + 0x78], ebp
mov ebp, edi
mov edi, dword [esp + 0x78]
jmp 0x4194c9
add ebp, eax
jns 0x419578
mov dword [esp + 0xc], ebx
mov ecx, ebp
neg ecx
cmp ecx, edi
cmovg ecx, edi
mov dword [esp + 8], ecx
mov dword [esp + 4], 1
mov dword [esp], esi
call sym._fread
test eax, eax
jg 0x4194c1
jmp 0x419429
mov esi, dword [ebx + 4]
mov edi, dword [esp + 0x7c]
mov eax, dword [edi + 0x10]
test eax, eax
je 0x419503
bswap esi
mov dword [esp + 0x40], ebx
jmp 0x41948d
cmp dword [ebx + 4], 0x11d3acf3
jne 0x41943f
cmp dword [ebx + 8], 0xc000d18c
jne 0x41943f
cmp dword [ebx + 0xc], 0x8adb8e4f
jne 0x41943f
mov eax, edi
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x40]
cmp eax, 0xf
ja 0x4191da
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebp
mov dword [esp + 4], 1
mov edi, dword [esp + 0x74]
mov dword [esp], edi
call sym._fread
test eax, eax
jle 0x419429
mov ecx, dword [esp + 0x74]
jmp 0x4191da
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x74], esi
mov ebp, edi
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebp
mov dword [esp + 4], 1
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call sym._fread
mov edi, eax
test eax, eax
jle 0x419429
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0x20]
jmp 0x419192
movzx edx, byte [edx + 8]
shl edx, 8
movzx eax, byte [esi + 9]
or eax, edx
shl eax, 8
movzx ebx, byte [esi + 0xa]
or ebx, eax
shl ebx, 8
movzx esi, byte [esi + 0xb]
or esi, ebx
jmp 0x419136
movzx edi, dx
mov eax, dword [esp + 0x7c]
mov dword [eax], edi
movzx eax, byte [ecx + 7]
shl eax, 8
movzx edx, byte [ecx + 6]
or edx, eax
shl edx, 8
movzx eax, byte [ecx + 5]
or eax, edx
shl eax, 8
movzx edx, byte [ecx + 4]
or edx, eax
mov eax, dword [esp + 0x7c]
mov dword [eax + 8], edx
movzx eax, word [ecx + 0xe]
mov edx, dword [esp + 0x7c]
mov dword [edx + 4], eax
test edi, edi
je 0x41963c
movzx eax, word [ecx + 0xc]
xor edx, edx
div edi
add eax, eax
add eax, eax
add eax, eax
mov edi, dword [esp + 0x7c]
mov dword [edi + 4], eax
movzx edi, word [ecx]
cmp edi, 0xfffe
jne 0x41926e
cmp dword [esp + 0x18], 0x17
jbe 0x419d35
mov edi, dword [esp + 0x20]
movzx eax, word [edi]
mov ecx, eax
test esi, esi
je 0x419668
xchg cl, ch
movzx eax, cx
cmp eax, 0x15
jbe 0x419d2b
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0xa]
test eax, eax
jne 0x419b60
cmp dword [edx + 0xe], 0x800010
jne 0x419b60
cmp dword [edx + 0x12], 0x3800aa00
jne 0x419b60
cmp word [edx + 0x16], 0x719b
jne 0x419b60
movzx eax, word [edx + 8]
test esi, esi
jne 0x419d7f
add edx, 2
movzx esi, word [edx]
mov edx, dword [esp + 0x7c]
mov dword [edx + 4], esi
mov dword [edx + 0xc], eax
mov ecx, dword [esp + 0x24]
lea edi, [ebx + 4]
test ecx, ecx
je 0x4197fa
mov ebx, dword [esp + 0x30]
add ebx, 0x10
jmp 0x419290
cmp al, 0x46
jne 0x419c61
mov edi, dword [esp + 0x74]
cmp byte [edi + 2], 0x36
jne 0x419c61
cmp byte [edi + 3], 0x34
jne 0x419c61
mov esi, dword [esp + 0x74]
add esi, 8
mov dword [esp + 0x44], esi
lea edi, [ebp - 8]
xor eax, eax
mov dword [esp + 0x48], 1
jmp 0x41909b
cmp cl, 0x42
jne 0x419735
mov eax, dword [esp + 0x74]
cmp byte [eax + 1], 0x57
jne 0x419735
cmp byte [eax + 2], 0x36
jne 0x419735
cmp byte [eax + 3], 0x34
je 0x4196fd
mov edi, dword [esp + 0x74]
cmp dword [edi], 0x66666972
jne 0x419429
cmp dword [edi + 4], 0x11cf912e
jne 0x419429
cmp dword [edi + 8], 0xdb28d6a5
jne 0x419429
cmp dword [edi + 0xc], 0xc104
jne 0x419429
add edi, 0x18
mov dword [esp + 0x44], edi
cmp ebp, 0x27
jle 0x419429
mov esi, dword [esp + 0x74]
cmp dword [esi + 0x18], 0x65766177
jne 0x419429
mov ecx, dword [esp + 0x44]
cmp dword [ecx + 4], 0x11d3acf3
jne 0x419429
cmp dword [ecx + 8], 0xc000d18c
jne 0x419429
cmp dword [ecx + 0xc], 0x8adb8e4f
jne 0x419429
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x74]
lea ebx, [eax + 0x28]
lea edi, [ebp - 0x28]
mov dword [esp + 0x24], 1
mov dword [esp + 0x3c], 0x18
mov dword [esp + 0x38], 0x18
mov dword [esp + 0x4c], 0
jmp 0x419163
lea edi, [ebx + 4]
test esi, esi
jne 0x419cae
movzx ebx, byte [edi + 3]
shl ebx, 8
movzx esi, byte [edi + 2]
or esi, ebx
shl esi, 8
movzx edx, byte [edi + 1]
or edx, esi
shl edx, 8
movzx edi, byte [edi]
or edi, edx
mov ecx, edi
xor ebx, ebx
jmp 0x419339
cmp dword [esi], 0x61746164
je 0x41991b
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
test ecx, ecx
je 0x419841
mov ecx, eax
mov eax, edx
bswap eax
bswap ecx
mov edx, ecx
mov ebx, dword [esp + 0x38]
cmp eax, ebx
mov ecx, edx
sbb ecx, dword [esp + 0x1c]
mov ecx, eax
jae 0x4198c6
and ecx, 1
xor edx, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov ebx, dword [esp + 0x2c]
or ecx, ebx
je 0x41986c
and eax, 0xfffffff8
add eax, 8
mov ebx, dword [esp + 0x3c]
add ebx, eax
add esi, ebx
mov ebx, dword [esp + 0x20]
sub ebx, eax
mov edx, dword [esp + 0x38]
cmp ebx, edx
jge 0x41938c
test ebx, ebx
jns 0x419a5c
mov esi, dword [esp + 0x70]
jmp 0x41989c
add ebx, eax
jns 0x419a5c
mov dword [esp + 0xc], esi
mov ecx, ebx
neg ecx
cmp ecx, ebp
cmovg ecx, ebp
mov dword [esp + 8], ecx
mov dword [esp + 4], 1
mov dword [esp], edi
call sym._fread
test eax, eax
jg 0x419894
jmp 0x419429
mov ebx, edx
sub ecx, dword [esp + 0x18]
sbb ebx, dword [esp + 0x1c]
and eax, 1
xor edx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x2c]
or eax, edx
je 0x4198ee
and ecx, 0xfffffff8
add ecx, 8
adc ebx, 0
mov eax, 0x7fffffff
cmp eax, ecx
mov edx, 0xffffffff
sbb edx, ebx
jb 0x419429
mov eax, ecx
jmp 0x41986c
mov eax, dword [esi + 4]
test ecx, ecx
je 0x41986c
bswap eax
jmp 0x41986c
cmp dword [esi + 4], 0x11d3acf3
jne 0x41982d
cmp dword [esi + 8], 0xc000d18c
jne 0x41982d
cmp dword [esi + 0xc], 0x8adb8e4f
jne 0x41982d
mov edi, ebx
test ecx, ecx
je 0x4199da
movzx ecx, byte [esi + 0x10]
xor ebx, ebx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x11]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x12]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x13]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x14]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x15]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x16]
xor edx, edx
or eax, ecx
or edx, ebx
shld edx, eax, 8
shl eax, 8
movzx esi, byte [esi + 0x17]
xor ecx, ecx
or esi, eax
or ecx, edx
mov ebx, dword [esp + 0x80]
mov dword [ebx], esi
mov dword [ebx + 4], ecx
jmp 0x41941b
movzx ecx, byte [esi + 0x17]
xor ebx, ebx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x16]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x15]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x14]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x13]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x12]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x11]
xor edx, edx
or eax, ecx
or edx, ebx
shld edx, eax, 8
shl eax, 8
movzx esi, byte [esi + 0x10]
xor ecx, ecx
or esi, eax
or ecx, edx
jmp 0x4199c9
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebp
mov dword [esp + 4], 1
mov dword [esp], edi
call sym._fread
mov ebx, eax
test eax, eax
jle 0x419429
mov esi, edi
jmp 0x41938c
movzx ebx, byte [esi + 4]
shl ebx, 8
movzx eax, byte [esi + 5]
or eax, ebx
shl eax, 8
movzx edx, byte [esi + 6]
or edx, eax
shl edx, 8
movzx esi, byte [esi + 7]
or esi, edx
xor edx, edx
mov ecx, dword [esp + 0x80]
mov dword [ecx], esi
mov dword [ecx + 4], edx
mov eax, esi
not eax
or eax, edx
jne 0x41941b
mov esi, dword [esp + 0x48]
test esi, esi
je 0x41941b
mov esi, dword [esp + 0x4c]
movzx ecx, byte [esi + 0x10]
xor ebx, ebx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x11]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x12]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x13]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x14]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x15]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x16]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx esi, byte [esi + 0x17]
xor eax, eax
or esi, ecx
or eax, ebx
mov ecx, dword [esp + 0x80]
mov dword [ecx], esi
mov dword [ecx + 4], eax
jmp 0x41941b
mov edx, dword [esp + 0x20]
lea edx, [edx + 2]
mov edi, 0xfffe
test esi, esi
je 0x419d75
movzx eax, word [edx]
xchg al, ah
movzx esi, ax
mov edx, dword [esp + 0x7c]
mov dword [edx + 4], esi
mov dword [edx + 0xc], edi
mov ecx, dword [esp + 0x24]
lea edi, [ebx + 4]
test ecx, ecx
je 0x419cae
mov ebx, dword [esp + 0x30]
add ebx, 0x10
movzx esi, byte [ebx]
xor edi, edi
shld edi, esi, 8
shl esi, 8
movzx eax, byte [ebx + 1]
xor ecx, ecx
or esi, eax
or edi, ecx
shld edi, esi, 8
shl esi, 8
movzx eax, byte [ebx + 2]
xor edx, edx
or esi, eax
or edi, edx
shld edi, esi, 8
shl esi, 8
movzx ecx, byte [ebx + 3]
xor eax, eax
or esi, ecx
or edi, eax
shld edi, esi, 8
shl esi, 8
movzx ecx, byte [ebx + 4]
xor edx, edx
or esi, ecx
or edi, edx
shld edi, esi, 8
shl esi, 8
movzx eax, byte [ebx + 5]
xor ecx, ecx
or esi, eax
or edi, ecx
shld edi, esi, 8
shl esi, 8
movzx eax, byte [ebx + 6]
xor edx, edx
or esi, eax
or edi, edx
shld edi, esi, 8
shl esi, 8
movzx ebx, byte [ebx + 7]
xor ecx, ecx
or esi, ebx
or edi, ecx
jmp 0x41930c
test edi, edi
jns 0x419cf8
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
jmp 0x419c37
add edi, eax
jns 0x419cf8
mov dword [esp + 0xc], ebx
mov edx, edi
neg edx
cmp edx, ebp
cmovg edx, ebp
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], esi
call sym._fread
test eax, eax
jg 0x419c2f
jmp 0x419429
mov edx, dword [esp + 0x74]
cmp byte [edx + 1], 0x49
jne 0x419735
cmp byte [edx + 2], 0x46
jne 0x419735
cmp byte [edx + 3], 0x58
jne 0x419735
mov ecx, dword [esp + 0x7c]
mov dword [ecx + 0x10], 1
mov ebx, dword [esp + 0x74]
add ebx, 8
mov dword [esp + 0x44], ebx
lea edi, [ebp - 8]
mov eax, 1
mov dword [esp + 0x48], 0
jmp 0x41909b
movzx ebx, byte [edi]
shl ebx, 8
movzx esi, byte [edi + 1]
or esi, ebx
shl esi, 8
movzx edx, byte [edi + 2]
or edx, esi
shl edx, 8
movzx edi, byte [edi + 3]
or edi, edx
jmp 0x419818
mov ebx, ecx
mov dword [esp + 0x24], 0
mov dword [esp + 0x3c], 8
mov dword [esp + 0x38], 8
mov dword [esp + 0x4c], 0
jmp 0x419163
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebp
mov dword [esp + 4], 1
mov edi, dword [esp + 0x74]
mov dword [esp], edi
call sym._fread
mov edi, eax
test eax, eax
jle 0x419429
mov esi, dword [esp + 0x74]
jmp 0x41936b
mov edi, 0xfffe
jmp 0x41926e
mov esi, dword [esp + 0x70]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebp
mov dword [esp + 4], 1
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
call sym._fread
mov dword [esp + 0x18], eax
test eax, eax
jle 0x419429
mov eax, dword [esp + 0x7c]
mov esi, dword [eax + 0x10]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x20], edx
jmp 0x419656
mov eax, 0xfffe
jmp 0x4196b5
xchg al, ah
movzx edi, ax
add edx, 2
jmp 0x419b74
mov esi, dword [esp + 0x4c]
movzx ecx, byte [esi + 0x17]
xor ebx, ebx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x16]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x15]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x14]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x13]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x12]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx eax, byte [esi + 0x11]
xor edx, edx
or ecx, eax
or ebx, edx
shld ebx, ecx, 8
shl ecx, 8
movzx esi, byte [esi + 0x10]
xor eax, eax
or esi, ecx
or eax, ebx
jmp 0x419b4f
mov eax, ebp
jmp 0x41942b