Function at 0x4a5978
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xdc
mov ebx, dword [ebp + 8]
mov dword [esp], 0x4bf460
call fcn.004a8750
test eax, eax
jne 0x4a6298
mov eax, dword [ebx + 4]
test eax, eax
jne 0x4a5c2b
mov dword [ebx + 4], 0xffffffff
mov dword [ebx + 8], 0
mov eax, dword [ebx]
test eax, eax
je 0x4a5c24
mov dword [esp + 4], 0x8000
mov dword [esp], eax
call sub.msvcrt.dll__open
mov esi, eax
cmp eax, 0xffffffff
je 0x4a5c24
lea eax, [ebp - 0x50]
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.msvcrt.dll__fstat64
cmp eax, 0xffffffff
je 0x4a5c48
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x80], edx
mov edx, dword [ebp - 0x4c]
mov word [ebp - 0x7c], dx
mov dx, word [ebp - 0x4a]
mov word [ebp - 0x7a], dx
mov edx, dword [ebp - 0x48]
mov word [ebp - 0x78], dx
mov dx, word [ebp - 0x46]
mov word [ebp - 0x76], dx
mov edx, dword [ebp - 0x44]
mov word [ebp - 0x74], dx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x70], edx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x90], ecx
mov edi, ecx
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], ecx
test eax, eax
jne 0x4a5c56
cmp edi, 0x2f
jbe 0x4a5c56
mov dword [esp], edi
call sub.msvcrt.dll_malloc
mov dword [ebp - 0x8c], eax
test eax, eax
je 0x4a5c56
mov dword [ebp + 8], ebx
mov ebx, edi
mov edi, eax
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], esi
call sub.msvcrt.dll__read
test eax, eax
jle 0x4a5c60
add edi, eax
sub ebx, eax
test ebx, ebx
jne 0x4a5a82
mov ebx, dword [ebp + 8]
mov dword [esp], esi
call sub.msvcrt.dll__close
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
xor ecx, ecx
cmp eax, 0x950412de
setne cl
mov esi, ecx
jne 0x4a6b64
mov dword [esp], 0x8c
call sub.msvcrt.dll_malloc
mov dword [ebp - 0x94], eax
test eax, eax
je 0x4a5c24
mov dword [ebx + 8], eax
mov edi, dword [ebp - 0x8c]
mov dword [eax], edi
mov dword [eax + 4], 0
mov edi, dword [ebp - 0x90]
mov dword [eax + 8], edi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], 0
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 4]
test esi, esi
je 0x4a5b1e
rol ax, 8
rol eax, 0x10
rol ax, 8
cmp eax, 0x1ffff
ja 0x4a5c81
mov edi, dword [ebp - 0x8c]
mov edx, dword [edi + 8]
test esi, esi
je 0x4a5ca9
rol dx, 8
rol edx, 0x10
rol dx, 8
mov ecx, dword [ebp - 0x94]
mov dword [ecx + 0x14], edx
mov edx, dword [edi + 0xc]
rol dx, 8
rol edx, 0x10
rol dx, 8
add edx, edi
mov dword [ecx + 0x18], edx
mov edx, dword [edi + 0x10]
rol dx, 8
rol edx, 0x10
rol dx, 8
add edx, edi
mov dword [ecx + 0x1c], edx
mov edx, dword [edi + 0x14]
rol dx, 8
rol edx, 0x10
rol dx, 8
mov dword [ecx + 0x2c], edx
cmp edx, 2
ja 0x4a5e1f
mov dword [ebp - 0xa0], edx
xor edx, edx
mov edi, dword [ebp - 0x94]
mov dword [edi + 0x30], edx
mov dword [edi + 0x34], esi
test ax, ax
jne 0x4a5cde
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov edi, dword [ebp - 0x94]
mov eax, edi
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
add eax, 0x40
mov dword [esp], eax
call fcn.004a82d4
lea eax, [ebp - 0x50]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x4eb452
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004a6fdc
lea edx, [edi + 0x88]
mov dword [esp + 8], edx
lea edx, [edi + 0x84]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004a7eec
nop
mov dword [ebx + 4], 1
mov dword [esp], 0x4bf460
call fcn.004a87ec
test eax, eax
jne 0x4a6298
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea edx, [ebp - 0x80]
mov ecx, 0x30
xor eax, eax
mov edi, edx
rep stosb byte es:[edi], al
mov dword [esp], esi
call sub.msvcrt.dll__close
jmp 0x4a5c24
inc eax
jne 0x4a5c71
call sub.msvcrt.dll__errno
cmp dword [eax], 4
je 0x4a5a9e
mov ebx, dword [ebp + 8]
mov dword [esp], esi
call sub.msvcrt.dll__close
jmp 0x4a5c24
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 8], 0
jmp 0x4a5c24
mov ecx, dword [ebp - 0x94]
mov dword [ecx + 0x14], edx
mov edx, dword [edi + 0xc]
add edx, edi
mov dword [ecx + 0x18], edx
mov edx, dword [edi + 0x10]
add edx, edi
mov dword [ecx + 0x1c], edx
mov edi, dword [edi + 0x14]
mov dword [ebp - 0xa0], edi
mov dword [ecx + 0x2c], edi
cmp edi, 2
ja 0x4a5e47
xor edx, edx
jmp 0x4a5b96
test edx, edx
je 0x4a5c81
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x24]
test esi, esi
je 0x4a5e72
rol ax, 8
mov dword [ebp - 0x9c], eax
rol dword [ebp - 0x9c], 0x10
mov eax, dword [ebp - 0x9c]
rol ax, 8
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x4a5e52
mov eax, dword [ebp - 0x8c]
mov edi, dword [eax + 0x1c]
rol di, 8
mov dword [ebp - 0x98], edi
rol dword [ebp - 0x98], 0x10
mov edi, dword [ebp - 0x98]
rol di, 8
mov dword [ebp - 0x98], edi
mov eax, dword [eax + 0x20]
rol ax, 8
rol eax, 0x10
rol ax, 8
mov edi, dword [ebp - 0x8c]
lea edx, [edi + eax]
mov edi, dword [ebp - 0x98]
lea eax, [edi*4 + 0x1e]
and eax, 0xfffffff0
call fcn.004b3a40
sub esp, eax
lea eax, [esp + 0x23]
mov dword [ebp - 0x90], eax
and dword [ebp - 0x90], 0xfffffff0
test edi, edi
je 0x4a5eae
mov ecx, edx
xor edi, edi
mov dword [ebp + 8], ebx
jmp 0x4a5e04
mov eax, dword [ecx + 4]
rol ax, 8
rol eax, 0x10
rol ax, 8
add eax, dword [ebp - 0x8c]
mov edx, dword [ecx]
rol dx, 8
rol edx, 0x10
rol dx, 8
test edx, edx
je 0x4a5c7e
cmp byte [eax + edx - 1], 0
jne 0x4a5c7e
mov dl, byte [eax]
cmp dl, 0x50
je 0x4a5e15
cmp dl, 0x49
jne 0x4a6ba0
cmp byte [eax + 1], 0
jne 0x4a5ea4
mov ebx, 0x4eb452
mov eax, dword [ebp - 0x90]
mov dword [eax + edi*4], ebx
inc edi
add ecx, 8
cmp edi, dword [ebp - 0x98]
je 0x4a5eab
test esi, esi
jne 0x4a5d98
mov eax, dword [ebp - 0x8c]
add eax, dword [ecx + 4]
mov edx, dword [ecx]
jmp 0x4a5db9
cmp byte [eax + 1], 0x52
je 0x4a5e93
xor ebx, ebx
jmp 0x4a5deb
mov edi, dword [ebp - 0x8c]
mov ecx, dword [edi + 0x18]
rol cx, 8
rol ecx, 0x10
rol cx, 8
mov dword [ebp - 0xa0], edx
mov edi, dword [ebp - 0x8c]
lea edx, [edi + ecx]
jmp 0x4a5b96
mov edi, dword [ebp - 0x8c]
mov ecx, dword [edi + 0x18]
jmp 0x4a5e39
mov eax, dword [ebp - 0x94]
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
jmp 0x4a5bc0
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x4a5e52
mov eax, dword [ebp - 0x8c]
mov edi, dword [eax + 0x1c]
mov dword [ebp - 0x98], edi
mov eax, dword [eax + 0x20]
jmp 0x4a5d54
cmp byte [eax + 2], 0x49
je 0x4a629d
xor ebx, ebx
jmp 0x4a5deb
xor ebx, ebx
jmp 0x4a5deb
mov ebx, dword [ebp + 8]
test esi, esi
je 0x4a634b
mov edi, dword [ebp - 0x8c]
mov eax, dword [edi + 0x28]
rol ax, 8
rol eax, 0x10
rol ax, 8
mov ecx, eax
add ecx, edi
mov dword [ebp - 0xac], ecx
mov eax, dword [edi + 0x2c]
rol ax, 8
rol eax, 0x10
rol ax, 8
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa0]
shl eax, 2
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp + 8], ebx
mov dword [ebp - 0xa0], 0
test esi, esi
je 0x4a6269
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x4a6b50
mov eax, dword [ebp - 0xa8]
mov edi, dword [ebp - 0xa4]
mov eax, dword [eax + edi*4]
rol ax, 8
rol eax, 0x10
rol ax, 8
mov edi, dword [ebp - 0x8c]
lea edx, [edi + eax]
mov eax, dword [edx + 8]
rol ax, 8
rol eax, 0x10
rol ax, 8
inc eax
setne al
test al, al
je 0x4a5fd4
add edx, 4
xor ebx, ebx
jmp 0x4a5fc9
mov eax, dword [edx]
rol ax, 8
rol eax, 0x10
rol ax, 8
add ebx, eax
mov eax, dword [edx + 4]
rol ax, 8
rol eax, 0x10
rol ax, 8
cmp eax, 0xffffffff
je 0x4a5fd6
cmp eax, dword [ebp - 0x98]
jae 0x4a5c7e
mov edi, dword [ebp - 0x90]
mov edi, dword [edi + eax*4]
test edi, edi
je 0x4a600b
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
lea ebx, [ebx + ecx - 1]
add edx, 8
test esi, esi
jne 0x4a5f7c
add ebx, dword [edx]
mov eax, dword [edx + 4]
jmp 0x4a5f99
xor ebx, ebx
mov eax, dword [ebp - 0xa0]
mov dword [ebp + eax*4 - 0x50], ebx
inc dword [ebp - 0xa0]
cmp dword [ebp - 0xa0], 2
jne 0x4a5f24
inc dword [ebp - 0xb0]
mov eax, dword [ebp - 0x4c]
add dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x50]
add dword [ebp - 0xb4], eax
inc dword [ebp - 0xa4]
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0xa4], eax
jb 0x4a5f1a
mov ebx, dword [ebp + 8]
cmp dword [ebp - 0xb0], 0
je 0x4a5e52
mov edi, dword [ebp - 0xb0]
mov eax, edi
shl eax, 4
add eax, dword [ebp - 0xb4]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov esi, eax
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x4a5c81
mov ecx, dword [ebp - 0x94]
mov dword [ecx + 0x10], eax
mov eax, edi
shl eax, 3
add esi, eax
mov dword [ebp - 0xc8], esi
add eax, esi
mov dword [ebp - 0xa4], eax
mov esi, dword [ebp - 0xb8]
add esi, eax
mov dword [ebp - 0x98], esi
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xa0], 0
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xb8], eax
mov dword [ebp + 8], ebx
xor ecx, ecx
mov ebx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x90]
mov edx, dword [ebp - 0xb8]
test edx, edx
je 0x4a6364
test ecx, ecx
je 0x4a6c6c
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax + ebx*4]
rol di, 8
rol edi, 0x10
rol di, 8
add edi, dword [ebp - 0x8c]
mov eax, dword [edi + 8]
rol ax, 8
rol eax, 0x10
rol ax, 8
inc eax
setne al
test al, al
je 0x4a6129
add edi, 4
jmp 0x4a6112
mov eax, dword [esi + eax*4]
test eax, eax
je 0x4a6208
add edi, 8
mov eax, dword [edi + 4]
test edx, edx
je 0x4a6124
rol ax, 8
rol eax, 0x10
rol ax, 8
cmp eax, 0xffffffff
jne 0x4a6104
inc ecx
cmp ecx, 2
jne 0x4a60bc
mov eax, dword [ebp - 0xbc]
shl eax, 3
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xb4], 0
cmp dword [ebp - 0xb8], 0
je 0x4a6387
cmp dword [ebp - 0xb4], 0
je 0x4a6b00
mov eax, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xa0]
mov edx, dword [eax + esi*4]
rol dx, 8
rol edx, 0x10
rol dx, 8
add edx, dword [ebp - 0x8c]
mov eax, dword [edx]
rol ax, 8
rol eax, 0x10
rol ax, 8
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0xc0], eax
mov ebx, dword [ebp - 0xc8]
cmp dword [ebp - 0xb4], 0
je 0x4a6af5
add ebx, dword [ebp - 0xcc]
cmp dword [ebp - 0xb8], 0
je 0x4a6456
mov eax, dword [edx + 8]
rol ax, 8
rol eax, 0x10
rol ax, 8
inc eax
jne 0x4a63c1
mov eax, dword [edx + 4]
rol ax, 8
rol eax, 0x10
rol ax, 8
mov dword [ebx], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebx + 4], eax
inc dword [ebp - 0xb4]
cmp dword [ebp - 0xb4], 2
jne 0x4a6148
inc dword [ebp - 0xbc]
inc dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0xa0], eax
jne 0x4a60a8
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0xbc]
cmp dword [ebp - 0xb0], eax
jne 0x4a6298
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax + 0x2c]
xor edx, edx
mov esi, eax
cmp edx, ecx
je 0x4a6ba7
cmp dword [esi + 0x34], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + edx*4]
je 0x4a625d
rol ax, 8
rol eax, 0x10
rol ax, 8
mov edi, dword [ebp - 0xa4]
mov dword [edi + edx*4], eax
inc edx
jmp 0x4a623e
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x4a6b82
mov eax, dword [ebp - 0xa8]
mov edi, dword [ebp - 0xa4]
mov edx, dword [eax + edi*4]
add edx, dword [ebp - 0x8c]
cmp dword [edx + 8], 0xffffffff
setne al
jmp 0x4a5f6f
call sub.msvcrt.dll_abort
mov dl, byte [eax + 3]
cmp dl, 0x64
je 0x4a62ce
cmp dl, 0x69
je 0x4a62ce
cmp dl, 0x6f
je 0x4a62ce
cmp dl, 0x75
je 0x4a62ce
mov bl, dl
and ebx, 0xffffffdf
mov byte [ebp - 0xa4], bl
xor ebx, ebx
cmp byte [ebp - 0xa4], 0x58
jne 0x4a5deb
mov bl, byte [eax + 4]
cmp bl, 0x38
je 0x4a63b0
cmp bl, 0x31
je 0x4a65dc
cmp bl, 0x33
je 0x4a6630
cmp bl, 0x36
jne 0x4a64a8
xor ebx, ebx
cmp byte [eax + 5], 0x34
jne 0x4a5deb
cmp byte [eax + 6], 0
jne 0x4a5deb
cmp dl, 0x64
je 0x4a691e
cmp dl, 0x69
je 0x4a6914
cmp dl, 0x6f
je 0x4a690a
cmp dl, 0x75
je 0x4a6900
cmp dl, 0x78
je 0x4a6b96
cmp dl, 0x58
jne 0x4a6298
mov ebx, str.I64X
jmp 0x4a5deb
mov eax, dword [ebp - 0x8c]
mov edi, dword [eax + 0x28]
add edi, eax
mov dword [ebp - 0xac], edi
mov eax, dword [eax + 0x2c]
jmp 0x4a5ee2
test ecx, ecx
je 0x4a6c7a
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax + ebx*4]
add edi, dword [ebp - 0x8c]
cmp dword [edi + 8], 0xffffffff
setne al
jmp 0x4a60f8
cmp dword [ebp - 0xb4], 0
je 0x4a671f
mov eax, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xa0]
mov edx, dword [eax + esi*4]
add edx, dword [ebp - 0x8c]
mov eax, dword [edx]
jmp 0x4a618f
cmp byte [eax + 5], 0
je 0x4a6468
xor ebx, ebx
jmp 0x4a5deb
mov eax, dword [ebp - 0x98]
mov dword [ebx + 4], eax
add edx, 4
jmp 0x4a6419
rol cx, 8
rol ecx, 0x10
rol cx, 8
mov eax, dword [edx + 4]
rol ax, 8
rol eax, 0x10
rol ax, 8
test ecx, ecx
jne 0x4a642a
cmp eax, 0xffffffff
je 0x4a6446
mov esi, dword [ebp - 0x90]
mov esi, dword [esi + eax*4]
mov ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, dword [ebp - 0x98]
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x98], edi
add edx, 8
mov ecx, dword [edx]
mov eax, dword [ebp - 0xb8]
test eax, eax
jne 0x4a63cf
mov eax, dword [edx + 4]
jmp 0x4a63e8
mov edi, dword [ebp - 0x98]
mov esi, dword [ebp - 0xc0]
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x98], edi
mov dword [ebp - 0xc0], esi
jmp 0x4a63ec
mov eax, dword [ebp - 0x98]
sub eax, dword [ebx + 4]
mov dword [ebx], eax
jmp 0x4a61ef
cmp dword [edx + 8], 0xffffffff
jne 0x4a63c1
mov eax, dword [edx + 4]
jmp 0x4a61e4
cmp dl, 0x64
je 0x4a6946
cmp dl, 0x69
je 0x4a693c
cmp dl, 0x6f
je 0x4a6932
cmp dl, 0x75
je 0x4a6928
cmp dl, 0x78
je 0x4a6b14
cmp dl, 0x58
jne 0x4a6298
mov ebx, 0x4eb446
jmp 0x4a5deb
cmp bl, 0x4c
jne 0x4a656a
xor ebx, ebx
cmp byte [eax + 5], 0x45
jne 0x4a5deb
cmp byte [eax + 6], 0x41
jne 0x4a5deb
cmp byte [eax + 7], 0x53
jne 0x4a5deb
cmp byte [eax + 8], 0x54
jne 0x4a5deb
mov bl, byte [eax + 9]
mov byte [ebp - 0xa4], bl
cmp bl, 0x38
je 0x4a6a26
xor ebx, ebx
cmp byte [ebp - 0xa4], 0x31
je 0x4a69d6
cmp byte [ebp - 0xa4], 0x33
je 0x4a6982
cmp byte [ebp - 0xa4], 0x36
jne 0x4a5deb
cmp byte [eax + 0xa], 0x34
jne 0x4a5deb
cmp byte [eax + 0xb], 0
jne 0x4a5deb
cmp dl, 0x64
je 0x4a6978
cmp dl, 0x69
je 0x4a696e
cmp dl, 0x6f
je 0x4a6964
cmp dl, 0x75
je 0x4a695a
cmp dl, 0x78
je 0x4a6950
cmp dl, 0x58
jne 0x4a6298
mov ebx, str.I64X
jmp 0x4a5deb
cmp bl, 0x46
je 0x4a6684
cmp bl, 0x4d
jne 0x4a6c99
xor ebx, ebx
cmp byte [eax + 5], 0x41
jne 0x4a5deb
cmp byte [eax + 6], 0x58
jne 0x4a5deb
cmp byte [eax + 7], 0
jne 0x4a6c92
cmp dl, 0x64
je 0x4a6c88
cmp dl, 0x69
je 0x4a68f6
cmp dl, 0x6f
je 0x4a68ec
cmp dl, 0x75
je 0x4a68e2
cmp dl, 0x78
je 0x4a68d8
cmp dl, 0x58
jne 0x4a6298
mov ebx, str.I64X
jmp 0x4a5deb
cmp byte [eax + 5], 0x36
jne 0x4a63ba
cmp byte [eax + 6], 0
jne 0x4a63ba
cmp dl, 0x64
je 0x4a6b46
cmp dl, 0x69
je 0x4a6b3c
cmp dl, 0x6f
je 0x4a6b32
cmp dl, 0x75
je 0x4a6b28
cmp dl, 0x78
je 0x4a6b1e
cmp dl, 0x58
jne 0x4a6298
mov ebx, 0x4eb446
jmp 0x4a5deb
cmp byte [eax + 5], 0x32
jne 0x4a63ba
cmp byte [eax + 6], 0
jne 0x4a63ba
cmp dl, 0x64
je 0x4a6d4b
cmp dl, 0x69
je 0x4a6d41
cmp dl, 0x6f
je 0x4a6d37
cmp dl, 0x75
je 0x4a6d2d
cmp dl, 0x78
je 0x4a6cea
cmp dl, 0x58
jne 0x4a6298
mov ebx, 0x4eb446
jmp 0x4a5deb
xor ebx, ebx
cmp byte [eax + 5], 0x41
jne 0x4a5deb
cmp byte [eax + 6], 0x53
jne 0x4a5deb
cmp byte [eax + 7], 0x54
jne 0x4a5deb
mov bl, byte [eax + 8]
mov byte [ebp - 0xa4], bl
cmp bl, 0x38
je 0x4a6809
xor ebx, ebx
cmp byte [ebp - 0xa4], 0x31
je 0x4a67b9
cmp byte [ebp - 0xa4], 0x33
je 0x4a6765
cmp byte [ebp - 0xa4], 0x36
jne 0x4a5deb
cmp byte [eax + 9], 0x34
jne 0x4a5deb
cmp byte [eax + 0xa], 0
jne 0x4a5deb
cmp dl, 0x64
je 0x4a675b
cmp dl, 0x69
je 0x4a6751
cmp dl, 0x6f
je 0x4a6747
cmp dl, 0x75
je 0x4a673d
cmp dl, 0x78
je 0x4a6733
cmp dl, 0x58
jne 0x4a6298
mov ebx, str.I64X
jmp 0x4a5deb
mov eax, dword [ebp - 0xac]
mov esi, dword [ebp - 0xa0]
mov edx, dword [eax + esi*4]
jmp 0x4a63a3
mov ebx, str.I64x
jmp 0x4a5deb
mov ebx, str.I64u
jmp 0x4a5deb
mov ebx, 0x4eb448
jmp 0x4a5deb
mov ebx, str.I64i
jmp 0x4a5deb
mov ebx, str.I64d
jmp 0x4a5deb
cmp byte [eax + 9], 0x32
jne 0x4a5deb
cmp byte [eax + 0xa], 0
jne 0x4a5deb
cmp dl, 0x64
je 0x4a68ce
cmp dl, 0x69
je 0x4a68c4
cmp dl, 0x6f
je 0x4a68ba
cmp dl, 0x75
je 0x4a68b0
cmp dl, 0x78
je 0x4a683b
cmp dl, 0x58
jne 0x4a6298
mov ebx, 0x4eb446
jmp 0x4a5deb
cmp byte [eax + 9], 0x36
jne 0x4a5deb
cmp byte [eax + 0xa], 0
jne 0x4a5deb
cmp dl, 0x64
je 0x4a68a6
cmp dl, 0x69
je 0x4a689c
cmp dl, 0x6f
je 0x4a6892
cmp dl, 0x75
je 0x4a6888
cmp dl, 0x78
je 0x4a6845
cmp dl, 0x58
jne 0x4a6298
mov ebx, 0x4eb446
jmp 0x4a5deb
cmp byte [eax + 9], 0
jne 0x4a6881
cmp dl, 0x64
je 0x4a6877
cmp dl, 0x69
je 0x4a686d
cmp dl, 0x6f
je 0x4a6863
cmp dl, 0x75
je 0x4a6859
cmp dl, 0x78
je 0x4a684f
cmp dl, 0x58
jne 0x4a6298
mov ebx, 0x4eb446
jmp 0x4a5deb
mov ebx, 0x4eb444
jmp 0x4a5deb
mov ebx, 0x4eb444
jmp 0x4a5deb
mov ebx, 0x4eb444
jmp 0x4a5deb
mov ebx, 0x4eb442
jmp 0x4a5deb
mov ebx, 0x4eb440
jmp 0x4a5deb
mov ebx, 0x4eb43e
jmp 0x4a5deb
mov ebx, 0x4eb43c
jmp 0x4a5deb
xor ebx, ebx
jmp 0x4a5deb
mov ebx, 0x4eb442
jmp 0x4a5deb
mov ebx, 0x4eb440
jmp 0x4a5deb
mov ebx, 0x4eb43e
jmp 0x4a5deb
mov ebx, 0x4eb43c
jmp 0x4a5deb
mov ebx, 0x4eb442
jmp 0x4a5deb
mov ebx, 0x4eb440
jmp 0x4a5deb
mov ebx, 0x4eb43e
jmp 0x4a5deb
mov ebx, 0x4eb43c
jmp 0x4a5deb
mov ebx, str.I64x
jmp 0x4a5deb
mov ebx, str.I64u
jmp 0x4a5deb
mov ebx, 0x4eb448
jmp 0x4a5deb
mov ebx, str.I64i
jmp 0x4a5deb
mov ebx, str.I64u
jmp 0x4a5deb
mov ebx, 0x4eb448
jmp 0x4a5deb
mov ebx, str.I64i
jmp 0x4a5deb
mov ebx, str.I64d
jmp 0x4a5deb
mov ebx, 0x4eb442
jmp 0x4a5deb
mov ebx, 0x4eb440
jmp 0x4a5deb
mov ebx, 0x4eb43e
jmp 0x4a5deb
mov ebx, 0x4eb43c
jmp 0x4a5deb
mov ebx, str.I64x
jmp 0x4a5deb
mov ebx, str.I64u
jmp 0x4a5deb
mov ebx, 0x4eb448
jmp 0x4a5deb
mov ebx, str.I64i
jmp 0x4a5deb
mov ebx, str.I64d
jmp 0x4a5deb
cmp byte [eax + 0xa], 0x32
jne 0x4a5deb
cmp byte [eax + 0xb], 0
jne 0x4a5deb
cmp dl, 0x64
je 0x4a6aeb
cmp dl, 0x69
je 0x4a6ae1
cmp dl, 0x6f
je 0x4a6ad7
cmp dl, 0x75
je 0x4a6acd
cmp dl, 0x78
je 0x4a6a58
cmp dl, 0x58
jne 0x4a6298
mov ebx, 0x4eb446
jmp 0x4a5deb
cmp byte [eax + 0xa], 0x36
jne 0x4a5deb
cmp byte [eax + 0xb], 0
jne 0x4a5deb
cmp dl, 0x64
je 0x4a6ac3
cmp dl, 0x69
je 0x4a6ab9
cmp dl, 0x6f
je 0x4a6aaf
cmp dl, 0x75
je 0x4a6aa5
cmp dl, 0x78
je 0x4a6a62
cmp dl, 0x58
jne 0x4a6298
mov ebx, 0x4eb446
jmp 0x4a5deb
cmp byte [eax + 0xa], 0
jne 0x4a6a9e
cmp dl, 0x64
je 0x4a6a94
cmp dl, 0x69
je 0x4a6a8a
cmp dl, 0x6f
je 0x4a6a80
cmp dl, 0x75
je 0x4a6a76
cmp dl, 0x78
je 0x4a6a6c
cmp dl, 0x58
jne 0x4a6298
mov ebx, 0x4eb446
jmp 0x4a5deb
mov ebx, 0x4eb444
jmp 0x4a5deb
mov ebx, 0x4eb444
jmp 0x4a5deb
mov ebx, 0x4eb444
jmp 0x4a5deb
mov ebx, 0x4eb442
jmp 0x4a5deb
mov ebx, 0x4eb440
jmp 0x4a5deb
mov ebx, 0x4eb43e
jmp 0x4a5deb
mov ebx, 0x4eb43c
jmp 0x4a5deb
xor ebx, ebx
jmp 0x4a5deb
mov ebx, 0x4eb442
jmp 0x4a5deb
mov ebx, 0x4eb440
jmp 0x4a5deb
mov ebx, 0x4eb43e
jmp 0x4a5deb
mov ebx, 0x4eb43c
jmp 0x4a5deb
mov ebx, 0x4eb442
jmp 0x4a5deb
mov ebx, 0x4eb440
jmp 0x4a5deb
mov ebx, 0x4eb43e
jmp 0x4a5deb
mov ebx, 0x4eb43c
jmp 0x4a5deb
mov ebx, dword [ebp - 0xc4]
jmp 0x4a61ae
mov eax, dword [ebp - 0xac]
mov esi, dword [ebp - 0xa0]
mov edx, dword [eax + esi*4]
jmp 0x4a6171
mov ebx, 0x4eb444
jmp 0x4a5deb
mov ebx, 0x4eb444
jmp 0x4a5deb
mov ebx, 0x4eb442
jmp 0x4a5deb
mov ebx, 0x4eb440
jmp 0x4a5deb
mov ebx, 0x4eb43e
jmp 0x4a5deb
mov ebx, 0x4eb43c
jmp 0x4a5deb
mov eax, dword [ebp - 0xac]
mov edi, dword [ebp - 0xa4]
mov eax, dword [eax + edi*4]
jmp 0x4a5f49
cmp eax, 0xde120495
je 0x4a5ac7
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call sub.msvcrt.dll_free
jmp 0x4a5c24
mov eax, dword [ebp - 0xac]
mov edi, dword [ebp - 0xa4]
mov edx, dword [eax + edi*4]
jmp 0x4a6286
mov ebx, str.I64x
jmp 0x4a5deb
xor ebx, ebx
jmp 0x4a5deb
xor edi, edi
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + edi*8 + 4]
mov dword [esp], eax
call fcn.004b153c
mov esi, dword [ebp - 0x94]
mov esi, dword [esi + 0x2c]
mov dword [ebp - 0x8c], eax
xor edx, edx
div esi
mov dword [ebp - 0x90], edx
lea ecx, [esi - 2]
mov eax, dword [ebp - 0x8c]
xor edx, edx
div ecx
inc edx
mov eax, esi
sub eax, edx
mov ecx, edx
sub ecx, esi
mov dword [ebp - 0x8c], ecx
mov ecx, dword [ebp - 0x90]
mov esi, dword [ebp - 0xa4]
lea esi, [esi + ecx*4]
cmp dword [esi], 0
je 0x4a6c1c
cmp ecx, eax
jb 0x4a6c68
add ecx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0xa4]
lea esi, [esi + ecx*4]
cmp dword [esi], 0
jne 0x4a6c04
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0x14]
lea eax, [edi + eax + 1]
mov dword [esi], eax
inc edi
cmp edi, dword [ebp - 0xb0]
jne 0x4a6ba9
mov eax, dword [ebp - 0x94]
mov dword [eax + 0x20], edi
mov esi, dword [ebp - 0xc4]
mov dword [eax + 0x24], esi
mov esi, dword [ebp - 0xc8]
mov dword [eax + 0x28], esi
mov esi, dword [ebp - 0xa4]
mov dword [eax + 0x30], esi
mov dword [eax + 0x34], 0
jmp 0x4a5bc0
add ecx, edx
jmp 0x4a6bf6
mov eax, dword [ebp - 0xac]
mov edi, dword [eax + ebx*4]
jmp 0x4a60d5
mov eax, dword [ebp - 0xac]
mov edi, dword [eax + ebx*4]
jmp 0x4a6375
mov ebx, str.I64d
jmp 0x4a5deb
xor ebx, ebx
jmp 0x4a5deb
cmp bl, 0x50
jne 0x4a63ba
xor ebx, ebx
cmp byte [eax + 5], 0x54
jne 0x4a5deb
cmp byte [eax + 6], 0x52
jne 0x4a5deb
cmp byte [eax + 7], 0
jne 0x4a6d26
cmp dl, 0x64
je 0x4a6d1c
cmp dl, 0x69
je 0x4a6d12
cmp dl, 0x6f
je 0x4a6d08
cmp dl, 0x75
je 0x4a6cfe
cmp dl, 0x78
je 0x4a6cf4
cmp dl, 0x58
jne 0x4a6298
mov ebx, 0x4eb446
jmp 0x4a5deb
mov ebx, 0x4eb444
jmp 0x4a5deb
mov ebx, 0x4eb444
jmp 0x4a5deb
mov ebx, 0x4eb442
jmp 0x4a5deb
mov ebx, 0x4eb440
jmp 0x4a5deb
mov ebx, 0x4eb43e
jmp 0x4a5deb
mov ebx, 0x4eb43c
jmp 0x4a5deb
xor ebx, ebx
jmp 0x4a5deb
mov ebx, 0x4eb442
jmp 0x4a5deb
mov ebx, 0x4eb440
jmp 0x4a5deb
mov ebx, 0x4eb43e
jmp 0x4a5deb
mov ebx, 0x4eb43c
jmp 0x4a5deb