Function at 0x426670
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 0x405140
push eax
call edi
mov al, byte [ebx]
add esp, 0x10
cmp al, 0x2f
jne 0x4266c9
mov ecx, dword [0x4829b8]
push ecx
push ebx
call fcn.00463a80
mov edx, dword [0x481164]
mov esi, eax
push esi
push 0x405138
push edx
call edi
add esp, 0xc
jmp 0x4266cd
mov esi, dword [esp + 0x2c]
mov eax, dword [0x4829cc]
cmp eax, 1
mov eax, 0x405124
je 0x4266e1
mov eax, 0x405114
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 0x405034
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 0x42687d
xor ecx, ecx
test edi, edi
mov dword [esp + 0x14], ecx
je 0x426d39
mov ebx, dword [sym.imp.MSVCRT.dll_fprintf]
mov eax, edi
and eax, 1
je 0x426865
shl eax, cl
cmp eax, 0x400
ja 0x4267ee
je 0x4267e2
cmp eax, 0x80
ja 0x4267bc
je 0x4267ad
test eax, eax
je 0x4267a3
cmp eax, 0x20
je 0x426794
cmp eax, 0x40
jne 0x42683b
mov esi, 0x40502c
mov ebp, 6
jmp 0x426853
mov esi, 0x405024
mov ebp, 1
jmp 0x426853
mov esi, 0x40501c
jmp 0x426853
mov esi, 0x40500c
mov ebp, 6
jmp 0x426853
cmp eax, 0x100
je 0x4267d6
cmp eax, 0x200
jne 0x42683b
mov esi, 0x404ffc
mov ebp, 6
jmp 0x426853
mov esi, 0x40502c
mov ebp, 2
jmp 0x426853
mov esi, 0x404ff0
mov ebp, 6
jmp 0x426853
cmp eax, 0x20000000
ja 0x42682d
je 0x426821
cmp eax, 0x800
je 0x42681a
cmp eax, 0x8000000
je 0x426813
cmp eax, 0x10000000
jne 0x42683b
mov esi, 0x404fe4
jmp 0x426853
mov esi, 0x404fd8
jmp 0x426853
mov esi, 0x404fd0
jmp 0x426853
mov esi, 0x404fb8
mov ebp, 1
jmp 0x426853
cmp eax, 0x40000000
je 0x42684e
cmp eax, 0x80000000
je 0x426842
mov esi, 0x404ac8
jmp 0x426853
mov esi, 0x404fac
mov ebp, 1
jmp 0x426853
mov esi, 0x404fa4
mov edx, dword [0x481164]
push esi
push 0x403258
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 0x426750
jmp 0x426cda
cmp eax, 1
jne 0x42688c
and edi, 0xff0fffff
mov dword [esp + 0x1c], edi
xor ecx, ecx
test edi, edi
mov dword [esp + 0x14], ecx
je 0x426bd4
mov edi, dword [esp + 0x1c]
and edi, 1
je 0x426bb4
shl edi, cl
cmp edi, 0x20000
ja 0x426a2d
je 0x426a23
cmp edi, 0x200
ja 0x4269d1
je 0x4269c7
lea eax, [edi - 8]
cmp eax, 0xf8
ja case.0x4268e3.13
xor ecx, ecx
mov cl, byte [eax + 0x426d5c]
jmp dword [ecx*4 + 0x426d44]
mov esi, 0x404f9c
test esi, esi
je 0x426bb4
mov edx, dword [0x481164]
push esi
push 0x404f90
push edx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0xc
cmp edi, 0x1000
jne 0x426b9f
mov ebp, dword [0x4829c0]
test ebp, ebp
je 0x426b9f
mov ecx, dword [0x4829c8]
xor eax, eax
mov edi, dword [ecx + 0x3c]
test edi, edi
jbe 0x426985
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 0x426974
xor edx, edx
mov dl, byte [ecx + 0x10]
sub edx, 2
je 0x426b01
dec edx
jne 0x426974
cmp byte [ecx + 0x11], 1
jb 0x426b01
mov dl, byte [ecx + 0xe]
and dl, 0x30
cmp dl, 0x20
je 0x426b01
xor edx, edx
mov dl, byte [ecx + 0x11]
lea eax, [eax + edx + 1]
cmp eax, edi
jb 0x426936
mov ebx, dword [esp + 0x2c]
mov edx, dword [0x481164]
push edx
push 0x404f80
call dword [sym.imp.MSVCRT.dll_fputs]
add esp, 8
jmp 0x426b9f
mov esi, 0x404f78
jmp 0x4268ef
mov esi, 0x404f64
jmp 0x4268ef
mov esi, 0x404f50
jmp 0x4268ef
mov esi, 0x404f48
jmp 0x4268ef
mov esi, 0x404f40
jmp 0x4268ef
cmp edi, 0x4000
ja 0x426a0d
je 0x426a03
cmp edi, 0x800
je 0x4269f9
cmp edi, 0x1000
jne case.0x4268e3.13
mov esi, 0x404f34
jmp 0x4268ef
mov esi, 0x404f2c
jmp 0x4268ef
mov esi, 0x404f18
jmp 0x4268ef
cmp edi, 0x8000
jne case.0x4268e3.13
mov esi, 0x404f04
jmp 0x4268ef
mov esi, 0x404ef0
jmp 0x4268ef
cmp edi, 0x8000000
ja 0x426aa1
je 0x426a97
cmp edi, 0x1000000
ja 0x426a73
je 0x426a69
cmp edi, 0x40000
je 0x426a5f
cmp edi, 0x80000
jne case.0x4268e3.13
mov esi, 0x404ee8
jmp 0x4268ef
mov esi, 0x404ee0
jmp 0x4268ef
mov esi, 0x404ec8
jmp 0x4268ef
cmp edi, 0x2000000
je 0x426a8d
cmp edi, 0x4000000
jne case.0x4268e3.13
mov esi, 0x404ebc
jmp 0x4268ef
mov esi, 0x403214
jmp 0x4268ef
mov esi, 0x404eb0
jmp 0x4268ef
cmp edi, 0x40000000
ja 0x426ae1
je 0x426ad3
cmp edi, 0x10000000
je 0x426ac9
cmp edi, 0x20000000
jne case.0x4268e3.13
xor esi, esi
or ebp, 1
mov dword [esp + 0x18], ebp
jmp 0x426bb4
mov esi, 0x40320c
jmp 0x4268ef
xor esi, esi
or ebp, 2
mov dword [esp + 0x18], ebp
jmp 0x426bb4
cmp edi, 0x80000000
je 0x426af3
mov esi, 0x404ac8
jmp 0x4268ef
xor esi, esi
or ebp, 4
mov dword [esp + 0x18], ebp
jmp 0x426bb4
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.00464280
mov ebx, 1
cmp word [esp + 0x28], bx
jne 0x426b3a
push 8
push eax
push 0x481028
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
push ebx
push eax
call fcn.004103d0
mov ebp, eax
mov eax, dword [0x481164]
push ebp
push 0x404ea4
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.00464280
cmp word [esp + 0x12], bx
jne 0x426b8d
push 8
push eax
push 0x481028
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
cmp ebp, eax
je 0x426b9b
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 0x42689a
mov eax, dword [0x4829cc]
cmp eax, 1
jne 0x426cda
mov eax, dword [ebx + 0x24]
and eax, 0xf00000
cmp eax, 0x800000
ja 0x426c69
je 0x426c62
cmp eax, 0x400000
ja 0x426c38
je 0x426c2e
cmp eax, 0x100000
je 0x426c24
cmp eax, 0x200000
je 0x426c1a
cmp eax, 0x300000
jne 0x426cb1
mov esi, 0x404e94
jmp 0x426cc4
mov esi, 0x404e84
jmp 0x426cc4
mov esi, 0x404e74
jmp 0x426cc4
mov esi, 0x404e64
jmp 0x426cc4
cmp eax, 0x500000
je 0x426c5b
cmp eax, 0x600000
je 0x426c54
cmp eax, 0x700000
jne 0x426cb1
mov esi, 0x404e54
jmp 0x426cc4
mov esi, 0x404e44
jmp 0x426cc4
mov esi, 0x404e34
jmp 0x426cc4
mov esi, 0x404e24
jmp 0x426cc4
cmp eax, 0xc00000
ja 0x426ca3
je 0x426c9c
cmp eax, 0x900000
je 0x426c95
cmp eax, 0xa00000
je 0x426c8e
cmp eax, 0xb00000
jne 0x426cb1
mov esi, 0x404e14
jmp 0x426cc4
mov esi, 0x404e04
jmp 0x426cc4
mov esi, 0x404df4
jmp 0x426cc4
mov esi, 0x404de4
jmp 0x426cc4
cmp eax, 0xd00000
je 0x426cbf
cmp eax, 0xe00000
je 0x426cb8
mov esi, 0x404dcc
jmp 0x426cc4
mov esi, 0x404dbc
jmp 0x426cc4
mov esi, 0x404dac
mov ecx, dword [0x481164]
push esi
push 0x403258
push ecx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0xc
test bp, bp
je 0x426d39
and ebp, 0xffff
lea eax, [ebp - 1]
cmp eax, 6
ja case.default.0x426ced
jmp dword [eax*4 + 0x426e58]
mov esi, 0x40317c
jmp case.default.0x426ced
mov esi, 0x4031a4
jmp case.default.0x426ced
mov esi, 0x40316c
jmp case.default.0x426ced
mov esi, 0x403198
jmp case.default.0x426ced
mov esi, 0x40315c
jmp case.default.0x426ced
mov esi, 0x40318c
jmp case.default.0x426ced
mov esi, 0x403148
mov edx, dword [0x481164]
push esi
push 0x403258
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