Function at 0x426810
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x14
mov eax, dword [esp + 0x18]
push ebx
mov ebx, dword [esp + 0x20]
push ebp
push esi
push edi
mov edi, dword [sym.imp.MSVCRT.dll_fprintf]
and eax, 0xffff
push ebx
mov dword [esp + 0x24], eax
push eax
mov eax, dword [0x481164]
push 0x405160
push eax
call edi
mov al, byte [ebx]
add esp, 0x10
cmp al, 0x2f
jne 0x426869
mov ecx, dword [0x4829b8]
push ecx
push ebx
call fcn.00463ed0
mov edx, dword [0x481164]
mov esi, eax
push esi
push 0x405158
push edx
call edi
add esp, 0xc
jmp 0x42686d
mov esi, dword [esp + 0x2c]
mov eax, dword [0x4829cc]
cmp eax, 1
mov eax, 0x405144
je 0x426881
mov eax, 0x405134
mov ecx, dword [ebx + 0x24]
xor edx, edx
mov dx, word [ebx + 0x22]
push ecx
xor ecx, ecx
push edx
mov cx, word [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
push ecx
mov ecx, dword [ebx + 0x18]
push edx
mov edx, dword [ebx + 0x14]
push ecx
mov ecx, dword [ebx + 0x10]
push edx
mov edx, dword [ebx + 0xc]
push ecx
mov ecx, dword [0x481164]
push edx
push eax
mov eax, dword [ebx + 8]
push eax
push 0x405054
push ecx
call dword [sym.imp.MSVCRT.dll_fprintf]
mov eax, dword [0x4829cc]
mov edi, dword [ebx + 0x24]
add esp, 0x30
xor ebp, ebp
cmp eax, 4
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], edi
jne 0x426a1d
xor ecx, ecx
test edi, edi
mov dword [esp + 0x14], ecx
je 0x426ed9
mov ebx, dword [sym.imp.MSVCRT.dll_fprintf]
mov eax, edi
and eax, 1
je 0x426a05
shl eax, cl
cmp eax, 0x400
ja 0x42698e
je 0x426982
cmp eax, 0x80
ja 0x42695c
je 0x42694d
test eax, eax
je 0x426943
cmp eax, 0x20
je 0x426934
cmp eax, 0x40
jne 0x4269db
mov esi, 0x40504c
mov ebp, 6
jmp 0x4269f3
mov esi, 0x405044
mov ebp, 1
jmp 0x4269f3
mov esi, 0x40503c
jmp 0x4269f3
mov esi, 0x40502c
mov ebp, 6
jmp 0x4269f3
cmp eax, 0x100
je 0x426976
cmp eax, 0x200
jne 0x4269db
mov esi, 0x40501c
mov ebp, 6
jmp 0x4269f3
mov esi, 0x40504c
mov ebp, 2
jmp 0x4269f3
mov esi, 0x405010
mov ebp, 6
jmp 0x4269f3
cmp eax, 0x20000000
ja 0x4269cd
je 0x4269c1
cmp eax, 0x800
je 0x4269ba
cmp eax, 0x8000000
je 0x4269b3
cmp eax, 0x10000000
jne 0x4269db
mov esi, 0x405004
jmp 0x4269f3
mov esi, 0x404ff8
jmp 0x4269f3
mov esi, 0x404ff0
jmp 0x4269f3
mov esi, 0x404fd8
mov ebp, 1
jmp 0x4269f3
cmp eax, 0x40000000
je 0x4269ee
cmp eax, 0x80000000
je 0x4269e2
mov esi, 0x404ae8
jmp 0x4269f3
mov esi, 0x404fcc
mov ebp, 1
jmp 0x4269f3
mov esi, 0x404fc4
mov edx, dword [0x481164]
push esi
push 0x403260
push edx
call ebx
add esp, 0xc
mov ecx, dword [esp + 0x14]
shr edi, 1
inc ecx
test edi, edi
mov dword [esp + 0x14], ecx
jne 0x4268f0
jmp 0x426e7a
cmp eax, 1
jne 0x426a2c
and edi, 0xff0fffff
mov dword [esp + 0x1c], edi
xor ecx, ecx
test edi, edi
mov dword [esp + 0x14], ecx
je 0x426d74
mov edi, dword [esp + 0x1c]
and edi, 1
je 0x426d54
shl edi, cl
cmp edi, 0x20000
ja 0x426bcd
je 0x426bc3
cmp edi, 0x200
ja 0x426b71
je 0x426b67
lea eax, [edi - 8]
cmp eax, 0xf8
ja case.0x426a83.13
xor ecx, ecx
mov cl, byte [eax + 0x426efc]
jmp dword [ecx*4 + 0x426ee4]
mov esi, 0x404fbc
test esi, esi
je 0x426d54
mov edx, dword [0x481164]
push esi
push 0x404fb0
push edx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0xc
cmp edi, 0x1000
jne 0x426d3f
mov ebp, dword [0x4829c0]
test ebp, ebp
je 0x426d3f
mov ecx, dword [0x4829c8]
xor eax, eax
mov edi, dword [ecx + 0x3c]
test edi, edi
jbe 0x426b25
lea edx, [eax + eax*8]
mov ebx, dword [esp + 0x20]
lea ecx, [ebp + edx*2]
movsx edx, word [ebp + edx*2 + 0xc]
cmp edx, ebx
jne 0x426b14
xor edx, edx
mov dl, byte [ecx + 0x10]
sub edx, 2
je 0x426ca1
dec edx
jne 0x426b14
cmp byte [ecx + 0x11], 1
jb 0x426ca1
mov dl, byte [ecx + 0xe]
and dl, 0x30
cmp dl, 0x20
je 0x426ca1
xor edx, edx
mov dl, byte [ecx + 0x11]
lea eax, [eax + edx + 1]
cmp eax, edi
jb 0x426ad6
mov ebx, dword [esp + 0x2c]
mov edx, dword [0x481164]
push edx
push 0x404fa0
call dword [sym.imp.MSVCRT.dll_fputs]
add esp, 8
jmp 0x426d3f
mov esi, 0x404f98
jmp 0x426a8f
mov esi, 0x404f84
jmp 0x426a8f
mov esi, 0x404f70
jmp 0x426a8f
mov esi, 0x404f68
jmp 0x426a8f
mov esi, 0x404f60
jmp 0x426a8f
cmp edi, 0x4000
ja 0x426bad
je 0x426ba3
cmp edi, 0x800
je 0x426b99
cmp edi, 0x1000
jne case.0x426a83.13
mov esi, 0x404f54
jmp 0x426a8f
mov esi, 0x404f4c
jmp 0x426a8f
mov esi, 0x404f38
jmp 0x426a8f
cmp edi, 0x8000
jne case.0x426a83.13
mov esi, 0x404f24
jmp 0x426a8f
mov esi, 0x404f10
jmp 0x426a8f
cmp edi, 0x8000000
ja 0x426c41
je 0x426c37
cmp edi, 0x1000000
ja 0x426c13
je 0x426c09
cmp edi, 0x40000
je 0x426bff
cmp edi, 0x80000
jne case.0x426a83.13
mov esi, 0x404f08
jmp 0x426a8f
mov esi, 0x404f00
jmp 0x426a8f
mov esi, 0x404ee8
jmp 0x426a8f
cmp edi, 0x2000000
je 0x426c2d
cmp edi, 0x4000000
jne case.0x426a83.13
mov esi, 0x404edc
jmp 0x426a8f
mov esi, 0x40321c
jmp 0x426a8f
mov esi, 0x404ed0
jmp 0x426a8f
cmp edi, 0x40000000
ja 0x426c81
je 0x426c73
cmp edi, 0x10000000
je 0x426c69
cmp edi, 0x20000000
jne case.0x426a83.13
xor esi, esi
or ebp, 1
mov dword [esp + 0x18], ebp
jmp 0x426d54
mov esi, 0x403214
jmp 0x426a8f
xor esi, esi
or ebp, 2
mov dword [esp + 0x18], ebp
jmp 0x426d54
cmp edi, 0x80000000
je 0x426c93
mov esi, 0x404ae8
jmp 0x426a8f
xor esi, esi
or ebp, 4
mov dword [esp + 0x18], ebp
jmp 0x426d54
mov edx, dword [0x4829a8]
lea edi, [eax + eax*8]
shl edi, 1
lea ecx, [esp + 0x28]
push 0
lea eax, [edi + ebp]
push ecx
push edx
push eax
call fcn.004646d0
mov ebx, 1
cmp word [esp + 0x28], bx
jne 0x426cda
push 8
push eax
push 0x481028
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
push ebx
push eax
call fcn.00410540
mov ebp, eax
mov eax, dword [0x481164]
push ebp
push 0x404ec4
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
mov ecx, dword [0x4829c0]
add esp, 0xc
lea edx, [esp + 0x12]
lea eax, [edi + ecx]
mov ecx, dword [0x4829a8]
push 0
push edx
push ecx
push eax
call fcn.004646d0
cmp word [esp + 0x12], bx
jne 0x426d2d
push 8
push eax
push 0x481028
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
cmp ebp, eax
je 0x426d3b
push ebp
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
mov ebx, dword [esp + 0x2c]
mov eax, dword [0x481164]
push eax
push 0xa
call dword [sym.imp.MSVCRT.dll_fputc]
mov ebp, dword [esp + 0x20]
add esp, 8
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
shr eax, 1
inc ecx
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x14], ecx
jne 0x426a3a
mov eax, dword [0x4829cc]
cmp eax, 1
jne 0x426e7a
mov eax, dword [ebx + 0x24]
and eax, 0xf00000
cmp eax, 0x800000
ja 0x426e09
je 0x426e02
cmp eax, 0x400000
ja 0x426dd8
je 0x426dce
cmp eax, 0x100000
je 0x426dc4
cmp eax, 0x200000
je 0x426dba
cmp eax, 0x300000
jne 0x426e51
mov esi, 0x404eb4
jmp 0x426e64
mov esi, 0x404ea4
jmp 0x426e64
mov esi, 0x404e94
jmp 0x426e64
mov esi, 0x404e84
jmp 0x426e64
cmp eax, 0x500000
je 0x426dfb
cmp eax, 0x600000
je 0x426df4
cmp eax, 0x700000
jne 0x426e51
mov esi, 0x404e74
jmp 0x426e64
mov esi, 0x404e64
jmp 0x426e64
mov esi, 0x404e54
jmp 0x426e64
mov esi, 0x404e44
jmp 0x426e64
cmp eax, 0xc00000
ja 0x426e43
je 0x426e3c
cmp eax, 0x900000
je 0x426e35
cmp eax, 0xa00000
je 0x426e2e
cmp eax, 0xb00000
jne 0x426e51
mov esi, 0x404e34
jmp 0x426e64
mov esi, 0x404e24
jmp 0x426e64
mov esi, 0x404e14
jmp 0x426e64
mov esi, 0x404e04
jmp 0x426e64
cmp eax, 0xd00000
je 0x426e5f
cmp eax, 0xe00000
je 0x426e58
mov esi, 0x404dec
jmp 0x426e64
mov esi, 0x404ddc
jmp 0x426e64
mov esi, 0x404dcc
mov ecx, dword [0x481164]
push esi
push 0x403260
push ecx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0xc
test bp, bp
je 0x426ed9
and ebp, 0xffff
lea eax, [ebp - 1]
cmp eax, 6
ja case.default.0x426e8d
jmp dword [eax*4 + 0x426ff8]
mov esi, 0x403184
jmp case.default.0x426e8d
mov esi, 0x4031ac
jmp case.default.0x426e8d
mov esi, 0x403174
jmp case.default.0x426e8d
mov esi, 0x4031a0
jmp case.default.0x426e8d
mov esi, 0x403164
jmp case.default.0x426e8d
mov esi, 0x403194
jmp case.default.0x426e8d
mov esi, 0x403150
mov edx, dword [0x481164]
push esi
push 0x403260
push edx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 8