Function at 0x403944
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], 0x41c0e0
call fcn.0040671c
test eax, eax
jne 0x404264
mov eax, dword [ebx + 4]
test eax, eax
jne 0x403bf7
mov dword [ebx + 4], 0xffffffff
mov dword [ebx + 8], 0
mov eax, dword [ebx]
test eax, eax
je 0x403bf0
mov dword [esp + 4], 0x8000
mov dword [esp], eax
call sub.msvcrt.dll__open
mov esi, eax
cmp eax, 0xffffffff
je 0x403bf0
lea eax, [ebp - 0x50]
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.msvcrt.dll__fstat64
cmp eax, 0xffffffff
je 0x403c14
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 0x403c22
cmp edi, 0x2f
jbe 0x403c22
mov dword [esp], edi
call sub.msvcrt.dll_malloc
mov dword [ebp - 0x8c], eax
test eax, eax
je 0x403c22
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 0x403c2c
add edi, eax
sub ebx, eax
test ebx, ebx
jne 0x403a4e
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 0x404b30
mov dword [esp], 0x8c
call sub.msvcrt.dll_malloc
mov dword [ebp - 0x94], eax
test eax, eax
je 0x403bf0
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 0x403aea
rol ax, 8
rol eax, 0x10
rol ax, 8
cmp eax, 0x1ffff
ja 0x403c4d
mov edi, dword [ebp - 0x8c]
mov edx, dword [edi + 8]
test esi, esi
je 0x403c75
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 0x403deb
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 0x403caa
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.004062a0
lea eax, [ebp - 0x50]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x41e092
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00404fa8
lea edx, [edi + 0x88]
mov dword [esp + 8], edx
lea edx, [edi + 0x84]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00405eb8
nop
mov dword [ebx + 4], 1
mov dword [esp], 0x41c0e0
call fcn.004067b8
test eax, eax
jne 0x404264
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 0x403bf0
inc eax
jne 0x403c3d
call sub.msvcrt.dll__errno
cmp dword [eax], 4
je 0x403a6a
mov ebx, dword [ebp + 8]
mov dword [esp], esi
call sub.msvcrt.dll__close
jmp 0x403bf0
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call fcn.0041ab20
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
call fcn.0041ab20
mov dword [ebx + 8], 0
jmp 0x403bf0
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 0x403e13
xor edx, edx
jmp 0x403b62
test edx, edx
je 0x403c4d
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x24]
test esi, esi
je 0x403e3e
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 0x403e1e
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.00413290
sub esp, eax
lea eax, [esp + 0x23]
mov dword [ebp - 0x90], eax
and dword [ebp - 0x90], 0xfffffff0
test edi, edi
je 0x403e7a
mov ecx, edx
xor edi, edi
mov dword [ebp + 8], ebx
jmp 0x403dd0
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 0x403c4a
cmp byte [eax + edx - 1], 0
jne 0x403c4a
mov dl, byte [eax]
cmp dl, 0x50
je 0x403de1
cmp dl, 0x49
jne 0x404b6c
cmp byte [eax + 1], 0
jne 0x403e70
mov ebx, 0x41e092
mov eax, dword [ebp - 0x90]
mov dword [eax + edi*4], ebx
inc edi
add ecx, 8
cmp edi, dword [ebp - 0x98]
je 0x403e77
test esi, esi
jne 0x403d64
mov eax, dword [ebp - 0x8c]
add eax, dword [ecx + 4]
mov edx, dword [ecx]
jmp 0x403d85
cmp byte [eax + 1], 0x52
je 0x403e5f
xor ebx, ebx
jmp 0x403db7
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 0x403b62
mov edi, dword [ebp - 0x8c]
mov ecx, dword [edi + 0x18]
jmp 0x403e05
mov eax, dword [ebp - 0x94]
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
jmp 0x403b8c
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x403e1e
mov eax, dword [ebp - 0x8c]
mov edi, dword [eax + 0x1c]
mov dword [ebp - 0x98], edi
mov eax, dword [eax + 0x20]
jmp 0x403d20
cmp byte [eax + 2], 0x49
je 0x404269
xor ebx, ebx
jmp 0x403db7
xor ebx, ebx
jmp 0x403db7
mov ebx, dword [ebp + 8]
test esi, esi
je 0x404317
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 0x404235
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x404b1c
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 0x403fa0
add edx, 4
xor ebx, ebx
jmp 0x403f95
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 0x403fa2
cmp eax, dword [ebp - 0x98]
jae 0x403c4a
mov edi, dword [ebp - 0x90]
mov edi, dword [edi + eax*4]
test edi, edi
je 0x403fd7
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 0x403f48
add ebx, dword [edx]
mov eax, dword [edx + 4]
jmp 0x403f65
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 0x403ef0
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 0x403ee6
mov ebx, dword [ebp + 8]
cmp dword [ebp - 0xb0], 0
je 0x403e1e
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 0x403c4d
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 0x404330
test ecx, ecx
je 0x404c38
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 0x4040f5
add edi, 4
jmp 0x4040de
mov eax, dword [esi + eax*4]
test eax, eax
je 0x4041d4
add edi, 8
mov eax, dword [edi + 4]
test edx, edx
je 0x4040f0
rol ax, 8
rol eax, 0x10
rol ax, 8
cmp eax, 0xffffffff
jne 0x4040d0
inc ecx
cmp ecx, 2
jne 0x404088
mov eax, dword [ebp - 0xbc]
shl eax, 3
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xb4], 0
cmp dword [ebp - 0xb8], 0
je 0x404353
cmp dword [ebp - 0xb4], 0
je 0x404acc
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 0x404ac1
add ebx, dword [ebp - 0xcc]
cmp dword [ebp - 0xb8], 0
je 0x404422
mov eax, dword [edx + 8]
rol ax, 8
rol eax, 0x10
rol ax, 8
inc eax
jne 0x40438d
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 0x404114
inc dword [ebp - 0xbc]
inc dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0xa0], eax
jne 0x404074
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0xbc]
cmp dword [ebp - 0xb0], eax
jne 0x404264
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax + 0x2c]
xor edx, edx
mov esi, eax
cmp edx, ecx
je 0x404b73
cmp dword [esi + 0x34], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + edx*4]
je 0x404229
rol ax, 8
rol eax, 0x10
rol ax, 8
mov edi, dword [ebp - 0xa4]
mov dword [edi + edx*4], eax
inc edx
jmp 0x40420a
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x404b4e
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 0x403f3b
call sub.msvcrt.dll_abort
mov dl, byte [eax + 3]
cmp dl, 0x64
je 0x40429a
cmp dl, 0x69
je 0x40429a
cmp dl, 0x6f
je 0x40429a
cmp dl, 0x75
je 0x40429a
mov bl, dl
and ebx, 0xffffffdf
mov byte [ebp - 0xa4], bl
xor ebx, ebx
cmp byte [ebp - 0xa4], 0x58
jne 0x403db7
mov bl, byte [eax + 4]
cmp bl, 0x38
je 0x40437c
cmp bl, 0x31
je 0x4045a8
cmp bl, 0x33
je 0x4045fc
cmp bl, 0x36
jne 0x404474
xor ebx, ebx
cmp byte [eax + 5], 0x34
jne 0x403db7
cmp byte [eax + 6], 0
jne 0x403db7
cmp dl, 0x64
je 0x4048ea
cmp dl, 0x69
je 0x4048e0
cmp dl, 0x6f
je 0x4048d6
cmp dl, 0x75
je 0x4048cc
cmp dl, 0x78
je 0x404b62
cmp dl, 0x58
jne 0x404264
mov ebx, str.I64X
jmp 0x403db7
mov eax, dword [ebp - 0x8c]
mov edi, dword [eax + 0x28]
add edi, eax
mov dword [ebp - 0xac], edi
mov eax, dword [eax + 0x2c]
jmp 0x403eae
test ecx, ecx
je 0x404c46
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax + ebx*4]
add edi, dword [ebp - 0x8c]
cmp dword [edi + 8], 0xffffffff
setne al
jmp 0x4040c4
cmp dword [ebp - 0xb4], 0
je 0x4046eb
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 0x40415b
cmp byte [eax + 5], 0
je 0x404434
xor ebx, ebx
jmp 0x403db7
mov eax, dword [ebp - 0x98]
mov dword [ebx + 4], eax
add edx, 4
jmp 0x4043e5
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 0x4043f6
cmp eax, 0xffffffff
je 0x404412
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 0x40439b
mov eax, dword [edx + 4]
jmp 0x4043b4
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 0x4043b8
mov eax, dword [ebp - 0x98]
sub eax, dword [ebx + 4]
mov dword [ebx], eax
jmp 0x4041bb
cmp dword [edx + 8], 0xffffffff
jne 0x40438d
mov eax, dword [edx + 4]
jmp 0x4041b0
cmp dl, 0x64
je 0x404912
cmp dl, 0x69
je 0x404908
cmp dl, 0x6f
je 0x4048fe
cmp dl, 0x75
je 0x4048f4
cmp dl, 0x78
je 0x404ae0
cmp dl, 0x58
jne 0x404264
mov ebx, 0x41e086
jmp 0x403db7
cmp bl, 0x4c
jne 0x404536
xor ebx, ebx
cmp byte [eax + 5], 0x45
jne 0x403db7
cmp byte [eax + 6], 0x41
jne 0x403db7
cmp byte [eax + 7], 0x53
jne 0x403db7
cmp byte [eax + 8], 0x54
jne 0x403db7
mov bl, byte [eax + 9]
mov byte [ebp - 0xa4], bl
cmp bl, 0x38
je 0x4049f2
xor ebx, ebx
cmp byte [ebp - 0xa4], 0x31
je 0x4049a2
cmp byte [ebp - 0xa4], 0x33
je 0x40494e
cmp byte [ebp - 0xa4], 0x36
jne 0x403db7
cmp byte [eax + 0xa], 0x34
jne 0x403db7
cmp byte [eax + 0xb], 0
jne 0x403db7
cmp dl, 0x64
je 0x404944
cmp dl, 0x69
je 0x40493a
cmp dl, 0x6f
je 0x404930
cmp dl, 0x75
je 0x404926
cmp dl, 0x78
je 0x40491c
cmp dl, 0x58
jne 0x404264
mov ebx, str.I64X
jmp 0x403db7
cmp bl, 0x46
je 0x404650
cmp bl, 0x4d
jne 0x404c65
xor ebx, ebx
cmp byte [eax + 5], 0x41
jne 0x403db7
cmp byte [eax + 6], 0x58
jne 0x403db7
cmp byte [eax + 7], 0
jne 0x404c5e
cmp dl, 0x64
je 0x404c54
cmp dl, 0x69
je 0x4048c2
cmp dl, 0x6f
je 0x4048b8
cmp dl, 0x75
je 0x4048ae
cmp dl, 0x78
je 0x4048a4
cmp dl, 0x58
jne 0x404264
mov ebx, str.I64X
jmp 0x403db7
cmp byte [eax + 5], 0x36
jne 0x404386
cmp byte [eax + 6], 0
jne 0x404386
cmp dl, 0x64
je 0x404b12
cmp dl, 0x69
je 0x404b08
cmp dl, 0x6f
je 0x404afe
cmp dl, 0x75
je 0x404af4
cmp dl, 0x78
je 0x404aea
cmp dl, 0x58
jne 0x404264
mov ebx, 0x41e086
jmp 0x403db7
cmp byte [eax + 5], 0x32
jne 0x404386
cmp byte [eax + 6], 0
jne 0x404386
cmp dl, 0x64
je 0x404d17
cmp dl, 0x69
je 0x404d0d
cmp dl, 0x6f
je 0x404d03
cmp dl, 0x75
je 0x404cf9
cmp dl, 0x78
je 0x404cb6
cmp dl, 0x58
jne 0x404264
mov ebx, 0x41e086
jmp 0x403db7
xor ebx, ebx
cmp byte [eax + 5], 0x41
jne 0x403db7
cmp byte [eax + 6], 0x53
jne 0x403db7
cmp byte [eax + 7], 0x54
jne 0x403db7
mov bl, byte [eax + 8]
mov byte [ebp - 0xa4], bl
cmp bl, 0x38
je 0x4047d5
xor ebx, ebx
cmp byte [ebp - 0xa4], 0x31
je 0x404785
cmp byte [ebp - 0xa4], 0x33
je 0x404731
cmp byte [ebp - 0xa4], 0x36
jne 0x403db7
cmp byte [eax + 9], 0x34
jne 0x403db7
cmp byte [eax + 0xa], 0
jne 0x403db7
cmp dl, 0x64
je 0x404727
cmp dl, 0x69
je 0x40471d
cmp dl, 0x6f
je 0x404713
cmp dl, 0x75
je 0x404709
cmp dl, 0x78
je 0x4046ff
cmp dl, 0x58
jne 0x404264
mov ebx, str.I64X
jmp 0x403db7
mov eax, dword [ebp - 0xac]
mov esi, dword [ebp - 0xa0]
mov edx, dword [eax + esi*4]
jmp 0x40436f
mov ebx, str.I64x
jmp 0x403db7
mov ebx, str.I64u
jmp 0x403db7
mov ebx, 0x41e088
jmp 0x403db7
mov ebx, str.I64i
jmp 0x403db7
mov ebx, str.I64d
jmp 0x403db7
cmp byte [eax + 9], 0x32
jne 0x403db7
cmp byte [eax + 0xa], 0
jne 0x403db7
cmp dl, 0x64
je 0x40489a
cmp dl, 0x69
je 0x404890
cmp dl, 0x6f
je 0x404886
cmp dl, 0x75
je 0x40487c
cmp dl, 0x78
je 0x404807
cmp dl, 0x58
jne 0x404264
mov ebx, 0x41e086
jmp 0x403db7
cmp byte [eax + 9], 0x36
jne 0x403db7
cmp byte [eax + 0xa], 0
jne 0x403db7
cmp dl, 0x64
je 0x404872
cmp dl, 0x69
je 0x404868
cmp dl, 0x6f
je 0x40485e
cmp dl, 0x75
je 0x404854
cmp dl, 0x78
je 0x404811
cmp dl, 0x58
jne 0x404264
mov ebx, 0x41e086
jmp 0x403db7
cmp byte [eax + 9], 0
jne 0x40484d
cmp dl, 0x64
je 0x404843
cmp dl, 0x69
je 0x404839
cmp dl, 0x6f
je 0x40482f
cmp dl, 0x75
je 0x404825
cmp dl, 0x78
je 0x40481b
cmp dl, 0x58
jne 0x404264
mov ebx, 0x41e086
jmp 0x403db7
mov ebx, 0x41e084
jmp 0x403db7
mov ebx, 0x41e084
jmp 0x403db7
mov ebx, 0x41e084
jmp 0x403db7
mov ebx, 0x41e082
jmp 0x403db7
mov ebx, 0x41e080
jmp 0x403db7
mov ebx, 0x41e07e
jmp 0x403db7
mov ebx, str.diouxX
jmp 0x403db7
xor ebx, ebx
jmp 0x403db7
mov ebx, 0x41e082
jmp 0x403db7
mov ebx, 0x41e080
jmp 0x403db7
mov ebx, 0x41e07e
jmp 0x403db7
mov ebx, str.diouxX
jmp 0x403db7
mov ebx, 0x41e082
jmp 0x403db7
mov ebx, 0x41e080
jmp 0x403db7
mov ebx, 0x41e07e
jmp 0x403db7
mov ebx, str.diouxX
jmp 0x403db7
mov ebx, str.I64x
jmp 0x403db7
mov ebx, str.I64u
jmp 0x403db7
mov ebx, 0x41e088
jmp 0x403db7
mov ebx, str.I64i
jmp 0x403db7
mov ebx, str.I64u
jmp 0x403db7
mov ebx, 0x41e088
jmp 0x403db7
mov ebx, str.I64i
jmp 0x403db7
mov ebx, str.I64d
jmp 0x403db7
mov ebx, 0x41e082
jmp 0x403db7
mov ebx, 0x41e080
jmp 0x403db7
mov ebx, 0x41e07e
jmp 0x403db7
mov ebx, str.diouxX
jmp 0x403db7
mov ebx, str.I64x
jmp 0x403db7
mov ebx, str.I64u
jmp 0x403db7
mov ebx, 0x41e088
jmp 0x403db7
mov ebx, str.I64i
jmp 0x403db7
mov ebx, str.I64d
jmp 0x403db7
cmp byte [eax + 0xa], 0x32
jne 0x403db7
cmp byte [eax + 0xb], 0
jne 0x403db7
cmp dl, 0x64
je 0x404ab7
cmp dl, 0x69
je 0x404aad
cmp dl, 0x6f
je 0x404aa3
cmp dl, 0x75
je 0x404a99
cmp dl, 0x78
je 0x404a24
cmp dl, 0x58
jne 0x404264
mov ebx, 0x41e086
jmp 0x403db7
cmp byte [eax + 0xa], 0x36
jne 0x403db7
cmp byte [eax + 0xb], 0
jne 0x403db7
cmp dl, 0x64
je 0x404a8f
cmp dl, 0x69
je 0x404a85
cmp dl, 0x6f
je 0x404a7b
cmp dl, 0x75
je 0x404a71
cmp dl, 0x78
je 0x404a2e
cmp dl, 0x58
jne 0x404264
mov ebx, 0x41e086
jmp 0x403db7
cmp byte [eax + 0xa], 0
jne 0x404a6a
cmp dl, 0x64
je 0x404a60
cmp dl, 0x69
je 0x404a56
cmp dl, 0x6f
je 0x404a4c
cmp dl, 0x75
je 0x404a42
cmp dl, 0x78
je 0x404a38
cmp dl, 0x58
jne 0x404264
mov ebx, 0x41e086
jmp 0x403db7
mov ebx, 0x41e084
jmp 0x403db7
mov ebx, 0x41e084
jmp 0x403db7
mov ebx, 0x41e084
jmp 0x403db7
mov ebx, 0x41e082
jmp 0x403db7
mov ebx, 0x41e080
jmp 0x403db7
mov ebx, 0x41e07e
jmp 0x403db7
mov ebx, str.diouxX
jmp 0x403db7
xor ebx, ebx
jmp 0x403db7
mov ebx, 0x41e082
jmp 0x403db7
mov ebx, 0x41e080
jmp 0x403db7
mov ebx, 0x41e07e
jmp 0x403db7
mov ebx, str.diouxX
jmp 0x403db7
mov ebx, 0x41e082
jmp 0x403db7
mov ebx, 0x41e080
jmp 0x403db7
mov ebx, 0x41e07e
jmp 0x403db7
mov ebx, str.diouxX
jmp 0x403db7
mov ebx, dword [ebp - 0xc4]
jmp 0x40417a
mov eax, dword [ebp - 0xac]
mov esi, dword [ebp - 0xa0]
mov edx, dword [eax + esi*4]
jmp 0x40413d
mov ebx, 0x41e084
jmp 0x403db7
mov ebx, 0x41e084
jmp 0x403db7
mov ebx, 0x41e082
jmp 0x403db7
mov ebx, 0x41e080
jmp 0x403db7
mov ebx, 0x41e07e
jmp 0x403db7
mov ebx, str.diouxX
jmp 0x403db7
mov eax, dword [ebp - 0xac]
mov edi, dword [ebp - 0xa4]
mov eax, dword [eax + edi*4]
jmp 0x403f15
cmp eax, 0xde120495
je 0x403a93
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call fcn.0041ab20
jmp 0x403bf0
mov eax, dword [ebp - 0xac]
mov edi, dword [ebp - 0xa4]
mov edx, dword [eax + edi*4]
jmp 0x404252
mov ebx, str.I64x
jmp 0x403db7
xor ebx, ebx
jmp 0x403db7
xor edi, edi
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + edi*8 + 4]
mov dword [esp], eax
call fcn.0040f508
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 0x404be8
cmp ecx, eax
jb 0x404c34
add ecx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0xa4]
lea esi, [esi + ecx*4]
cmp dword [esi], 0
jne 0x404bd0
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 0x404b75
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 0x403b8c
add ecx, edx
jmp 0x404bc2
mov eax, dword [ebp - 0xac]
mov edi, dword [eax + ebx*4]
jmp 0x4040a1
mov eax, dword [ebp - 0xac]
mov edi, dword [eax + ebx*4]
jmp 0x404341
mov ebx, str.I64d
jmp 0x403db7
xor ebx, ebx
jmp 0x403db7
cmp bl, 0x50
jne 0x404386
xor ebx, ebx
cmp byte [eax + 5], 0x54
jne 0x403db7
cmp byte [eax + 6], 0x52
jne 0x403db7
cmp byte [eax + 7], 0
jne 0x404cf2
cmp dl, 0x64
je 0x404ce8
cmp dl, 0x69
je 0x404cde
cmp dl, 0x6f
je 0x404cd4
cmp dl, 0x75
je 0x404cca
cmp dl, 0x78
je 0x404cc0
cmp dl, 0x58
jne 0x404264
mov ebx, 0x41e086
jmp 0x403db7
mov ebx, 0x41e084
jmp 0x403db7
mov ebx, 0x41e084
jmp 0x403db7
mov ebx, 0x41e082
jmp 0x403db7
mov ebx, 0x41e080
jmp 0x403db7
mov ebx, 0x41e07e
jmp 0x403db7
mov ebx, str.diouxX
jmp 0x403db7
xor ebx, ebx
jmp 0x403db7
mov ebx, 0x41e082
jmp 0x403db7
mov ebx, 0x41e080
jmp 0x403db7
mov ebx, 0x41e07e
jmp 0x403db7
mov ebx, str.diouxX
jmp 0x403db7