Function at 0x4a0b30
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xbc
mov esi, dword [ebp + 8]
mov dword [esp], 0x61cb20
call fcn.004a9600
test eax, eax
jne 0x4a121b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a0e47
mov eax, dword [esi]
mov dword [esi + 4], 0xffffffff
mov dword [esi + 8], 0
test eax, eax
je 0x4a0e40
mov dword [esp + 4], 0x8000
mov dword [esp], eax
call sub.msvcrt.dll__open
cmp eax, 0xffffffff
mov ebx, eax
je 0x4a0e40
lea eax, [ebp - 0x48]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [sym.imp.msvcrt.dll__fstati64]
test eax, eax
jne 0x4a0e85
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
test edx, edx
mov dword [ebp - 0x60], eax
jne 0x4a0e85
cmp eax, 0x2f
mov edi, eax
jbe 0x4a0e85
mov dword [esp], eax
call sub.msvcrt.dll_malloc
test eax, eax
mov dword [ebp - 0x5c], eax
je 0x4a0e85
mov dword [ebp + 8], esi
mov esi, edi
mov edi, eax
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], ebx
call sub.msvcrt.dll__read
test eax, eax
jle 0x4a0e63
add edi, eax
sub esi, eax
test esi, esi
jne 0x4a0bdf
mov dword [esp], ebx
mov esi, dword [ebp + 8]
call sub.msvcrt.dll__close
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
cmp eax, 0x950412de
mov dword [ebp - 0x68], eax
setne bl
cmp eax, 0xde120495
je 0x4a0c29
test bl, bl
jne 0x4a0ff5
mov dword [esp], 0x8c
call sub.msvcrt.dll_malloc
test eax, eax
mov dword [ebp - 0x64], eax
je 0x4a0ff5
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x60]
cmp dword [ebp - 0x68], 0x950412de
mov dword [eax], edx
mov dword [eax + 4], 0
mov ecx, eax
mov dword [eax + 8], edi
mov dword [esi + 8], eax
movzx eax, bl
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], 0
je 0x4a0e8f
mov edx, dword [edx + 4]
bswap edx
cmp edx, 0x1ffff
ja 0x4a0fe6
mov edi, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x64]
mov ecx, dword [edi + 8]
bswap ecx
mov dword [ebx + 0x14], ecx
mov ecx, dword [edi + 0xc]
bswap ecx
add ecx, edi
mov dword [ebx + 0x18], ecx
mov ecx, dword [edi + 0x10]
bswap ecx
add ecx, edi
mov dword [ebx + 0x1c], ecx
mov ecx, dword [edi + 0x14]
bswap ecx
cmp ecx, 2
mov dword [ebp - 0x70], ecx
mov dword [ebx + 0x2c], ecx
jbe 0x4a0fa3
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x18]
bswap ecx
add ecx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x64]
test dx, dx
mov dword [edi + 0x34], eax
mov dword [edi + 0x30], ecx
je 0x4a0db1
test ecx, ecx
je 0x4a0fed
cmp dword [ebp - 0x68], 0x950412de
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24]
je 0x4a1005
bswap eax
test eax, eax
mov dword [ebp - 0x80], eax
je 0x4a0db1
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x1c]
mov edi, dword [edx + 0x20]
bswap eax
bswap edi
mov dword [ebp - 0x6c], eax
add edi, edx
mov edx, eax
lea eax, [eax*4 + 0x1e]
shr eax, 4
shl eax, 4
call fcn.004ce940
sub esp, eax
lea eax, [esp + 0x23]
and eax, 0xfffffff0
test edx, edx
mov dword [ebp - 0x60], eax
je 0x4a1230
add edi, 4
xor ebx, ebx
mov dword [ebp + 8], esi
jmp 0x4a0d9e
mov eax, dword [edi]
mov edx, dword [edi - 4]
bswap eax
add eax, dword [ebp - 0x5c]
bswap edx
test edx, edx
je 0x4a0fea
cmp byte [eax + edx - 1], 0
jne 0x4a0fea
movzx edx, byte [eax]
cmp dl, 0x50
je 0x4a0eda
cmp dl, 0x49
jne 0x4a16ed
cmp byte [eax + 1], 0
mov edx, 0
mov eax, 0x667982
cmove edx, eax
mov eax, dword [ebp - 0x60]
add edi, 8
mov dword [eax + ebx*4], edx
add ebx, 1
cmp ebx, dword [ebp - 0x6c]
jae 0x4a1220
cmp dword [ebp - 0x68], 0x950412de
jne 0x4a0d44
mov eax, dword [ebp - 0x5c]
mov edx, dword [edi - 4]
add eax, dword [edi]
jmp 0x4a0d50
mov eax, dword [ebp - 0x64]
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
lea eax, [ebp - 0x50]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x64]
lea ebx, [eax + 0x40]
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
mov dword [esp], ebx
call fcn.004a8e90
mov eax, dword [ebp - 0x68]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x667982
mov dword [esp], esi
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
call fcn.004a2010
cmp eax, 0xffffffff
je 0x4a120b
mov ecx, dword [ebp - 0x64]
mov dword [esp], eax
mov edx, ecx
add edx, 0x88
mov dword [esp + 8], edx
mov edx, ecx
add edx, 0x84
mov dword [esp + 4], edx
call fcn.004a3010
lea esi, [esi]
mov dword [esi + 4], 1
mov dword [esp], 0x61cb20
call fcn.004a9750
test eax, eax
jne 0x4a121b
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 0xffffffff
jne 0x4a0e77
call dword [sym.imp.msvcrt.dll__errno]
cmp dword [eax], 4
je 0x4a0bfb
mov eax, dword [ebp - 0x5c]
mov esi, dword [ebp + 8]
mov dword [esp], eax
call fcn.004defc0
mov dword [esp], ebx
call sub.msvcrt.dll__close
jmp 0x4a0e40
mov edx, dword [ebp - 0x5c]
mov edx, dword [edx + 4]
cmp edx, 0x1ffff
ja 0x4a0fe6
mov edi, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x64]
mov ecx, dword [edi + 8]
mov dword [ebx + 0x14], ecx
mov ecx, dword [edi + 0xc]
add ecx, edi
mov dword [ebx + 0x18], ecx
mov ecx, dword [edi + 0x10]
add ecx, edi
mov dword [ebx + 0x1c], ecx
mov ecx, dword [edi + 0x14]
cmp ecx, 2
mov dword [ebp - 0x70], ecx
mov dword [ebx + 0x2c], ecx
jbe 0x4a0fa3
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x18]
jmp 0x4a0cc3
xor edx, edx
cmp byte [eax + 1], 0x52
jne 0x4a0d89
cmp byte [eax + 2], 0x49
jne 0x4a0d89
movzx esi, byte [eax + 3]
mov byte [ebp - 0x74], 1
lea ecx, [esi - 0x64]
cmp cl, 0x11
ja 0x4a0f15
mov edx, 0x20821
shr edx, cl
and edx, 1
xor edx, 1
mov ecx, edx
and ecx, 1
mov byte [ebp - 0x74], cl
mov edx, esi
and edx, 0xffffffdf
cmp dl, 0x58
sete cl
xor edx, edx
cmp cl, byte [ebp - 0x74]
jb 0x4a0d89
movzx ecx, byte [eax + 4]
cmp cl, 0x38
je 0x4a12e5
cmp cl, 0x31
je 0x4a1295
cmp cl, 0x33
je 0x4a1249
cmp cl, 0x36
jne 0x4a176b
cmp byte [eax + 5], 0x34
jne 0x4a0d89
cmp byte [eax + 6], 0
jne 0x4a0d89
mov eax, esi
cmp al, 0x64
je 0x4a1757
cmp al, 0x69
je 0x4a174d
cmp al, 0x6f
je 0x4a1743
cmp al, 0x75
je 0x4a1739
cmp al, 0x78
je 0x4a1761
cmp al, 0x58
jne 0x4a121b
mov edx, str.I64X
jmp 0x4a0d89
mov ecx, dword [ebp - 0x64]
test dx, dx
mov dword [ecx + 0x30], 0
mov dword [ecx + 0x34], eax
je 0x4a0db1
mov eax, dword [ecx + 0x10]
mov dword [esp], eax
call fcn.004defc0
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call fcn.004defc0
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call fcn.004defc0
mov dword [esi + 8], 0
jmp 0x4a0e40
xor eax, eax
jmp 0x4a0fbc
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 0x10]
jmp 0x4a0fbc
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call fcn.004defc0
jmp 0x4a0e40
test eax, eax
mov dword [ebp - 0x80], eax
je 0x4a0db1
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax + 0x1c]
mov edi, dword [eax + 0x20]
add edi, eax
lea eax, [edx*4 + 0x1e]
mov dword [ebp - 0x6c], edx
shr eax, 4
shl eax, 4
call fcn.004ce940
sub esp, eax
lea eax, [esp + 0x23]
and eax, 0xfffffff0
test edx, edx
mov dword [ebp - 0x60], eax
jne 0x4a0d3a
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax + 0x28]
add edx, eax
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x78], edx
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp + 8], esi
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x70]
shl eax, 2
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], 0
cmp dword [ebp - 0x68], 0x950412de
je 0x4a1128
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x4a137f
mov eax, dword [ebp - 0x84]
mov edx, dword [ebp - 0x74]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x5c]
bswap eax
xor ebx, ebx
add eax, edx
mov esi, dword [eax]
lea edi, [eax + 4]
mov eax, dword [eax + 8]
bswap esi
add esi, edx
cmp eax, 0xffffffff
mov dword [ebp - 0x70], esi
mov esi, 1
je 0x4a1202
xor ebx, ebx
mov esi, 1
jmp 0x4a1119
bswap ecx
bswap eax
add ebx, ecx
cmp eax, 0xffffffff
je 0x4a11f5
add dword [ebp - 0x70], ecx
cmp eax, dword [ebp - 0x6c]
jae 0x4a0fea
mov edx, dword [ebp - 0x60]
mov ecx, 0
mov eax, dword [edx + eax*4]
test eax, eax
mov dword [esp], eax
cmove esi, ecx
add edi, 8
call sub.msvcrt.dll_strlen
add ebx, eax
mov eax, dword [edi + 4]
cmp dword [ebp - 0x68], 0x950412de
mov ecx, dword [edi]
jne 0x4a10de
add ebx, ecx
jmp 0x4a10e4
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x4a1371
mov eax, dword [ebp - 0x84]
mov edx, dword [ebp - 0x74]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x5c]
add eax, edx
add edx, dword [eax]
lea edi, [eax + 4]
mov eax, dword [eax + 8]
cmp eax, 0xffffffff
mov dword [ebp - 0x70], edx
jne 0x4a10d5
xor ebx, ebx
mov esi, 1
mov eax, dword [edi]
test eax, eax
je 0x4a0fea
mov edx, dword [ebp - 0x70]
cmp byte [edx + eax - 1], 0
jne 0x4a0fea
mov eax, dword [ebp - 0x88]
lea ecx, [ebp - 0x50]
test esi, esi
mov dword [ecx + eax*4], ebx
je 0x4a11ac
add eax, 1
cmp eax, 2
mov dword [ebp - 0x88], eax
jne 0x4a1088
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x50]
add dword [ebp - 0x7c], 1
add dword [ebp - 0x8c], eax
add dword [ebp - 0x74], 1
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x80]
jb 0x4a107e
mov edx, dword [ebp - 0x7c]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x68], ecx
mov eax, edx
shl eax, 4
add eax, dword [ebp - 0x8c]
test edx, edx
jne 0x4a138d
mov eax, dword [ebp - 0x64]
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
jmp 0x4a0dcf
cmp dword [ebp - 0x68], 0x950412de
je 0x4a1162
mov eax, dword [edi]
bswap eax
jmp 0x4a1164
mov dword [esp], ebx
call fcn.004a9550
test eax, eax
je 0x4a0fed
call sub.msvcrt.dll_abort
cmp dword [ebp - 0x68], 0x950412de
mov esi, dword [ebp + 8]
je 0x4a1044
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x28]
bswap eax
mov ecx, eax
mov eax, dword [edx + 0x2c]
add ecx, edx
mov dword [ebp - 0x78], ecx
bswap eax
jmp 0x4a1052
cmp byte [eax + 5], 0x32
jne 0x4a0d89
cmp byte [eax + 6], 0
jne 0x4a0d89
mov eax, esi
cmp al, 0x64
je 0x4a132b
cmp al, 0x69
je 0x4a1321
cmp al, 0x6f
je 0x4a1335
cmp al, 0x75
je 0x4a1317
cmp al, 0x78
je 0x4a1802
cmp al, 0x58
jne 0x4a121b
mov edx, 0x667976
jmp 0x4a0d89
cmp byte [eax + 5], 0x36
jne 0x4a0d89
cmp byte [eax + 6], 0
jne 0x4a0d89
mov eax, esi
cmp al, 0x64
je 0x4a1cfa
cmp al, 0x69
je 0x4a1cf0
cmp al, 0x6f
je 0x4a1ce6
cmp al, 0x75
je 0x4a1cdc
cmp al, 0x78
je 0x4a180c
cmp al, 0x58
jne 0x4a121b
mov edx, 0x667976
jmp 0x4a0d89
cmp byte [eax + 5], 0
jne 0x4a0d89
mov eax, esi
cmp al, 0x64
je 0x4a1367
cmp al, 0x69
je 0x4a135d
cmp al, 0x6f
je 0x4a1353
cmp al, 0x75
je 0x4a1349
cmp al, 0x78
je 0x4a133f
cmp al, 0x58
jne 0x4a121b
mov edx, 0x667976
jmp 0x4a0d89
mov edx, 0x667972
jmp 0x4a0d89
mov edx, 0x66796e
jmp 0x4a0d89
mov edx, str.diouxX
jmp 0x4a0d89
mov edx, 0x667970
jmp 0x4a0d89
mov edx, 0x667974
jmp 0x4a0d89
mov edx, 0x667972
jmp 0x4a0d89
mov edx, 0x667970
jmp 0x4a0d89
mov edx, 0x66796e
jmp 0x4a0d89
mov edx, str.diouxX
jmp 0x4a0d89
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [eax + edx*4]
jmp 0x4a1142
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [eax + edx*4]
jmp 0x4a10af
mov dword [esp], eax
call sub.msvcrt.dll_malloc
test eax, eax
mov dword [ebp - 0x88], eax
je 0x4a0fed
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x88]
xor ebx, ebx
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x8c], 0
mov dword [ebp + 8], esi
shl eax, 3
mov dword [ecx + 0x10], edx
add edx, eax
add eax, edx
mov dword [ebp - 0xa0], edx
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x90], eax
add edx, eax
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x64]
mov esi, dword [ebp - 0x84]
xor edx, edx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x94], eax
mov edi, eax
test edi, edi
je 0x4a15d8
test edx, edx
je 0x4a16c4
mov eax, dword [esi + ebx*4]
bswap eax
add eax, dword [ebp - 0x5c]
cmp dword [eax + 8], 0xffffffff
lea ecx, [eax + 4]
setne al
test al, al
je 0x4a1445
mov dword [ebp - 0x6c], edx
jmp 0x4a1434
mov edx, dword [ebp - 0x60]
mov eax, dword [edx + eax*4]
test eax, eax
je 0x4a14e9
add ecx, 8
test edi, edi
mov eax, dword [ecx + 4]
je 0x4a143d
bswap eax
cmp eax, 0xffffffff
jne 0x4a1423
mov edx, dword [ebp - 0x6c]
add edx, 1
cmp edx, 2
jne 0x4a13f8
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x74], ebx
shl eax, 3
add edx, eax
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0x94], 0
je 0x4a168d
cmp dword [ebp - 0x70], 0
je 0x4a16f4
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0xa4]
mov eax, dword [eax + edx*4]
bswap eax
add eax, ecx
mov edx, dword [eax]
lea esi, [eax + 4]
bswap edx
mov edi, edx
add edi, ecx
mov dword [ebp - 0x6c], edi
cmp dword [eax + 8], 0xffffffff
jne 0x4a15f5
mov eax, dword [eax + 4]
bswap eax
mov dword [ebx], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebx + 4], eax
add dword [ebp - 0x70], 1
mov eax, dword [ebp - 0x70]
cmp eax, 2
jne 0x4a171d
add dword [ebp - 0x8c], 1
mov ebx, dword [ebp - 0x74]
add ebx, 1
cmp ebx, dword [ebp - 0x80]
jne 0x4a13e2
mov edx, dword [ebp - 0x8c]
cmp dword [ebp - 0x7c], edx
mov esi, dword [ebp + 8]
jne 0x4a121b
mov ebx, dword [ebp - 0x64]
xor eax, eax
mov ecx, dword [ebx + 0x2c]
jmp 0x4a152b
cmp dword [ebx + 0x34], 0
mov edx, dword [ebx + 0x30]
mov edx, dword [edx + eax*4]
je 0x4a151f
bswap edx
mov edi, dword [ebp - 0x90]
mov dword [edi + eax*4], edx
add eax, 1
cmp eax, ecx
jne 0x4a1511
xor edi, edi
mov dword [ebp + 8], esi
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + edi*8 + 4]
mov dword [esp], eax
call fcn.004a9af0
mov ebx, eax
mov eax, dword [ebp - 0x64]
xor edx, edx
mov esi, dword [eax + 0x2c]
mov eax, ebx
div esi
lea eax, [esi - 2]
mov ecx, edx
mov edx, eax
mov eax, ebx
mov ebx, edx
xor edx, edx
div ebx
mov ebx, esi
lea eax, [edx + 1]
mov edx, eax
sub ebx, eax
sub edx, esi
mov dword [ebp - 0x60], edx
jmp 0x4a1582
mov edx, dword [ebp - 0x60]
lea esi, [ecx + eax]
add edx, ecx
cmp ecx, ebx
cmovb edx, esi
mov ecx, edx
mov edx, dword [ebp - 0x90]
lea edx, [edx + ecx*4]
mov esi, dword [edx]
test esi, esi
jne 0x4a1573
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 0x14]
lea eax, [edi + eax + 1]
add edi, 1
cmp dword [ebp - 0x7c], edi
mov dword [edx], eax
jne 0x4a1534
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x7c]
mov esi, dword [ebp + 8]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x88]
mov dword [eax + 0x34], 0
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0xa0]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x90]
mov dword [eax + 0x30], edx
jmp 0x4a0dcf
test edx, edx
je 0x4a172e
mov eax, dword [esi + ebx*4]
add eax, dword [ebp - 0x5c]
cmp dword [eax + 8], 0xffffffff
lea ecx, [eax + 4]
setne al
jmp 0x4a141a
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa8], ebx
mov dword [ebx + 4], eax
mov ebx, eax
jmp 0x4a1665
mov edx, dword [esi + 4]
bswap edi
bswap edx
test edi, edi
je 0x4a1637
mov eax, dword [ebp - 0x6c]
mov dword [esp], ebx
add ebx, edi
mov dword [esp + 8], edi
mov dword [ebp - 0x98], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
add dword [ebp - 0x6c], edi
mov edx, dword [ebp - 0x98]
cmp edx, 0xffffffff
je 0x4a1675
mov eax, dword [ebp - 0x60]
or ecx, 0xffffffff
add esi, 8
mov edx, dword [eax + edx*4]
xor eax, eax
mov edi, edx
repne scasb al, byte es:[edi]
mov dword [esp], ebx
mov dword [esp + 4], edx
not ecx
lea edi, [ecx - 1]
mov dword [esp + 8], edi
add ebx, edi
call sub.msvcrt.dll_memcpy
cmp dword [ebp - 0x94], 0
mov edi, dword [esi]
jne 0x4a1608
mov edx, dword [esi + 4]
jmp 0x4a160f
mov eax, ebx
mov dword [ebp - 0x98], ebx
mov ebx, dword [ebp - 0xa8]
sub eax, dword [ebx + 4]
mov dword [ebx], eax
jmp 0x4a14cf
cmp dword [ebp - 0x70], 0
je 0x4a16cf
mov ecx, dword [ebp - 0x84]
mov edi, dword [ebp - 0x74]
mov edx, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0xa4]
mov eax, dword [ecx + edi*4]
add eax, edx
add edx, dword [eax]
lea esi, [eax + 4]
mov dword [ebp - 0x6c], edx
cmp dword [eax + 8], 0xffffffff
jne 0x4a15f5
mov eax, dword [eax + 4]
jmp 0x4a14c7
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + ebx*4]
jmp 0x4a140b
mov ecx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x74]
mov edx, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x9c]
mov eax, dword [ecx + edi*4]
add eax, edx
add edx, dword [eax]
lea esi, [eax + 4]
mov dword [ebp - 0x6c], edx
jmp 0x4a16b2
xor edx, edx
jmp 0x4a0d89
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x9c]
mov eax, dword [eax + edx*4]
bswap eax
add eax, ecx
mov edx, dword [eax]
lea esi, [eax + 4]
bswap edx
mov edi, edx
add edi, ecx
mov dword [ebp - 0x6c], edi
jmp 0x4a14b8
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x94], eax
jmp 0x4a147a
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + ebx*4]
jmp 0x4a15e3
mov edx, str.I64u
jmp 0x4a0d89
mov edx, 0x667978
jmp 0x4a0d89
mov edx, str.I64i
jmp 0x4a0d89
mov edx, str.I64d
jmp 0x4a0d89
mov edx, str.I64x
jmp 0x4a0d89
cmp cl, 0x4c
jne 0x4a197a
cmp byte [eax + 5], 0x45
jne 0x4a0d89
cmp byte [eax + 6], 0x41
jne 0x4a0d89
cmp byte [eax + 7], 0x53
jne 0x4a0d89
cmp byte [eax + 8], 0x54
jne 0x4a0d89
movzx ecx, byte [eax + 9]
cmp cl, 0x38
je 0x4a1934
xor edx, edx
cmp cl, 0x31
je 0x4a1894
cmp cl, 0x33
je 0x4a1848
cmp cl, 0x36
jne 0x4a0d89
cmp byte [eax + 0xa], 0x34
jne 0x4a0d89
cmp byte [eax + 0xb], 0
jne 0x4a0d89
mov eax, esi
cmp al, 0x64
je 0x4a183e
cmp al, 0x69
je 0x4a1834
cmp al, 0x6f
je 0x4a182a
cmp al, 0x75
je 0x4a1820
cmp al, 0x78
je 0x4a1816
cmp al, 0x58
jne 0x4a121b
mov edx, str.I64X
jmp 0x4a0d89
mov edx, 0x667974
jmp 0x4a0d89
mov edx, 0x667974
jmp 0x4a0d89
mov edx, str.I64x
jmp 0x4a0d89
mov edx, str.I64u
jmp 0x4a0d89
mov edx, 0x667978
jmp 0x4a0d89
mov edx, str.I64i
jmp 0x4a0d89
mov edx, str.I64d
jmp 0x4a0d89
cmp byte [eax + 0xa], 0x32
jne 0x4a0d89
cmp byte [eax + 0xb], 0
jne 0x4a0d89
mov eax, esi
cmp al, 0x64
je 0x4a192a
cmp al, 0x69
je 0x4a1920
cmp al, 0x6f
je 0x4a1916
cmp al, 0x75
je 0x4a190c
cmp al, 0x78
je 0x4a18d0
cmp al, 0x58
jne 0x4a121b
mov edx, 0x667976
jmp 0x4a0d89
cmp byte [eax + 0xa], 0x36
jne 0x4a0d89
cmp byte [eax + 0xb], 0
jne 0x4a0d89
mov eax, esi
cmp al, 0x64
je 0x4a1902
cmp al, 0x69
je 0x4a18f8
cmp al, 0x6f
je 0x4a18ee
cmp al, 0x75
je 0x4a18e4
cmp al, 0x78
je 0x4a18da
cmp al, 0x58
jne 0x4a121b
mov edx, 0x667976
jmp 0x4a0d89
mov edx, 0x667974
jmp 0x4a0d89
mov edx, 0x667974
jmp 0x4a0d89
mov edx, 0x667972
jmp 0x4a0d89
mov edx, 0x667970
jmp 0x4a0d89
mov edx, 0x66796e
jmp 0x4a0d89
mov edx, str.diouxX
jmp 0x4a0d89
mov edx, 0x667972
jmp 0x4a0d89
mov edx, 0x667970
jmp 0x4a0d89
mov edx, 0x66796e
jmp 0x4a0d89
mov edx, str.diouxX
jmp 0x4a0d89
cmp byte [eax + 0xa], 0
jne 0x4a1cd5
mov eax, esi
cmp al, 0x64
je 0x4a1ccb
cmp al, 0x69
je 0x4a1cc1
cmp al, 0x6f
je 0x4a1cb7
cmp al, 0x75
je 0x4a1a11
cmp al, 0x78
je 0x4a1a07
cmp al, 0x58
jne 0x4a121b
mov edx, 0x667976
jmp 0x4a0d89
cmp cl, 0x46
jne 0x4a1b77
cmp byte [eax + 5], 0x41
jne 0x4a0d89
cmp byte [eax + 6], 0x53
jne 0x4a0d89
cmp byte [eax + 7], 0x54
jne 0x4a0d89
movzx ecx, byte [eax + 8]
cmp cl, 0x38
je 0x4a1b39
xor edx, edx
cmp cl, 0x31
je 0x4a1a99
cmp cl, 0x33
je 0x4a1a4d
cmp cl, 0x36
jne 0x4a0d89
cmp byte [eax + 9], 0x34
jne 0x4a0d89
cmp byte [eax + 0xa], 0
jne 0x4a0d89
mov eax, esi
cmp al, 0x64
je 0x4a1a43
cmp al, 0x69
je 0x4a1a39
cmp al, 0x6f
je 0x4a1a2f
cmp al, 0x75
je 0x4a1a25
cmp al, 0x78
je 0x4a1a1b
cmp al, 0x58
jne 0x4a121b
mov edx, str.I64X
jmp 0x4a0d89
mov edx, 0x667974
jmp 0x4a0d89
mov edx, 0x667972
jmp 0x4a0d89
mov edx, str.I64x
jmp 0x4a0d89
mov edx, str.I64u
jmp 0x4a0d89
mov edx, 0x667978
jmp 0x4a0d89
mov edx, str.I64i
jmp 0x4a0d89
mov edx, str.I64d
jmp 0x4a0d89
cmp byte [eax + 9], 0x32
jne 0x4a0d89
cmp byte [eax + 0xa], 0
jne 0x4a0d89
mov eax, esi
cmp al, 0x64
je 0x4a1b2f
cmp al, 0x69
je 0x4a1b25
cmp al, 0x6f
je 0x4a1b1b
cmp al, 0x75
je 0x4a1b11
cmp al, 0x78
je 0x4a1ad5
cmp al, 0x58
jne 0x4a121b
mov edx, 0x667976
jmp 0x4a0d89
cmp byte [eax + 9], 0x36
jne 0x4a0d89
cmp byte [eax + 0xa], 0
jne 0x4a0d89
mov eax, esi
cmp al, 0x64
je 0x4a1b07
cmp al, 0x69
je 0x4a1afd
cmp al, 0x6f
je 0x4a1af3
cmp al, 0x75
je 0x4a1ae9
cmp al, 0x78
je 0x4a1adf
cmp al, 0x58
jne 0x4a121b
mov edx, 0x667976
jmp 0x4a0d89
mov edx, 0x667974
jmp 0x4a0d89
mov edx, 0x667974
jmp 0x4a0d89
mov edx, 0x667972
jmp 0x4a0d89
mov edx, 0x667970
jmp 0x4a0d89
mov edx, 0x66796e
jmp 0x4a0d89
mov edx, str.diouxX
jmp 0x4a0d89
mov edx, 0x667972
jmp 0x4a0d89
mov edx, 0x667970
jmp 0x4a0d89
mov edx, 0x66796e
jmp 0x4a0d89
mov edx, str.diouxX
jmp 0x4a0d89
cmp byte [eax + 9], 0
jne 0x4a1c74
mov eax, esi
cmp al, 0x64
je 0x4a1c6a
cmp al, 0x69
je 0x4a1c7b
cmp al, 0x6f
je 0x4a1c60
cmp al, 0x75
je 0x4a1bcc
cmp al, 0x78
je 0x4a1bc2
cmp al, 0x58
jne 0x4a121b
mov edx, 0x667976
jmp 0x4a0d89
cmp cl, 0x4d
jne 0x4a1c0f
cmp byte [eax + 5], 0x41
jne 0x4a0d89
cmp byte [eax + 6], 0x58
jne 0x4a0d89
cmp byte [eax + 7], 0
jne 0x4a1c08
mov eax, esi
cmp al, 0x64
je 0x4a1bfe
cmp al, 0x69
je 0x4a1bf4
cmp al, 0x6f
je 0x4a1bea
cmp al, 0x75
je 0x4a1be0
cmp al, 0x78
je 0x4a1bd6
cmp al, 0x58
jne 0x4a121b
mov edx, str.I64X
jmp 0x4a0d89
mov edx, 0x667974
jmp 0x4a0d89
mov edx, 0x667972
jmp 0x4a0d89
mov edx, str.I64x
jmp 0x4a0d89
mov edx, str.I64u
jmp 0x4a0d89
mov edx, 0x667978
jmp 0x4a0d89
mov edx, str.I64i
jmp 0x4a0d89
mov edx, str.I64d
jmp 0x4a0d89
xor edx, edx
jmp 0x4a0d89
cmp cl, 0x50
jne 0x4a0d89
cmp byte [eax + 5], 0x54
jne 0x4a0d89
xor edx, edx
cmp byte [eax + 6], 0x52
jne 0x4a0d89
cmp byte [eax + 7], 0
jne 0x4a0d89
mov eax, esi
cmp al, 0x64
je 0x4a1cad
cmp al, 0x69
je 0x4a1ca3
cmp al, 0x6f
je 0x4a1c99
cmp al, 0x75
je 0x4a1c8f
cmp al, 0x78
je 0x4a1c85
cmp al, 0x58
jne 0x4a121b
mov edx, 0x667976
jmp 0x4a0d89
mov edx, 0x667970
jmp 0x4a0d89
mov edx, str.diouxX
jmp 0x4a0d89
xor edx, edx
jmp 0x4a0d89
mov edx, 0x66796e
jmp 0x4a0d89
mov edx, 0x667974
jmp 0x4a0d89
mov edx, 0x667972
jmp 0x4a0d89
mov edx, 0x667970
jmp 0x4a0d89
mov edx, 0x66796e
jmp 0x4a0d89
mov edx, str.diouxX
jmp 0x4a0d89
mov edx, 0x667970
jmp 0x4a0d89
mov edx, 0x66796e
jmp 0x4a0d89
mov edx, str.diouxX
jmp 0x4a0d89
xor edx, edx
jmp 0x4a0d89
mov edx, 0x667972
jmp 0x4a0d89
mov edx, 0x667970
jmp 0x4a0d89
mov edx, 0x66796e
jmp 0x4a0d89
mov edx, str.diouxX
jmp 0x4a0d89