Function at 0x401400
Capabilities:
Terminate process

Disassembly:
mov eax, 0x10028
call fcn.00401ed0
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0x40847c
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebx
mov byte [esp + 0x14], bl
mov byte [esp + 0x15], bl
mov byte [esp + 0x16], bl
mov byte [esp + 0x17], bl
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], ebx
call fcn.00401e9b
call 0x401890
push 0x40844c
call fcn.00401e9b
push 0x40843c
call fcn.00401e9b
push 0x4083f4
call fcn.00401e9b
push 0x4083b8
call fcn.00401e9b
push 0x408388
call fcn.00401e9b
push 0x40847c
call fcn.00401e9b
mov eax, dword [esp + 0x10058]
add esp, 0x1c
cmp eax, 3
je 0x40149d
push 0x408340
call fcn.00401e9b
add esp, 4
push ebx
call fcn.00401dc6
mov esi, dword [esp + 0x10040]
push 0x40833c
mov eax, dword [esi + 4]
push eax
call fcn.00401d86
mov ecx, dword [esi + 8]
push 0x408338
push ecx
mov ebp, eax
call fcn.00401d86
push 2
mov edi, eax
push ebx
push ebp
mov dword [esp + 0x3c], edi
call fcn.00401cda
push ebp
call fcn.00401b82
push ebp
mov dword [esp + 0x58], eax
call fcn.00401b2e
push ebp
push 1
push 1
push 0x409000
call fcn.00401a46
movsx edx, byte [0x409000]
push ebx
push 0x200
push ebp
mov dword [esp + 0x5c], edx
call fcn.00401cda
add esp, 0x40
push edi
push 0x2c
push 1
push 0x408030
call fcn.0040193c
add esp, 0x10
cmp ebp, ebx
jne 0x401538
push 0x40831c
call fcn.00401e9b
add esp, 4
call fcn.004049b2
push ebx
call fcn.00401dc6
mov esi, dword [esi + 4]
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x28], ebx
cmp ecx, 3
jle 0x4015c4
lea edi, [esi + ecx - 2]
mov esi, 0x408318
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40157f
test cl, cl
je 0x40157b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40157f
add eax, 2
add esi, 2
test cl, cl
jne 0x40155b
xor eax, eax
jmp 0x401584
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4015c4
mov esi, 0x408314
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4015b3
test cl, cl
je 0x4015af
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4015b3
add eax, 2
add esi, 2
test cl, cl
jne 0x40158f
xor eax, eax
jmp 0x4015b8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4015c4
mov dword [esp + 0x28], 0x3000
push 0x408304
call fcn.00401e9b
mov eax, dword [esp + 0x20]
add esp, 4
mov word [0x409006], bx
mov byte [0x408ffc], 0
lea eax, [eax + eax*4]
lea ebx, [esp + 0x38]
mov esi, 0xc864
lea eax, [eax + eax*4]
shl eax, 2
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
push ebp
push eax
push 1
push 0x409000
call fcn.00401a46
mov edx, dword [esp + 0x40]
mov edi, eax
add esi, edx
mov ecx, dword [esp + 0x3c]
mov eax, esi
add esp, 0x10
cdq
idiv dword [esp + 0x34]
cmp ecx, eax
je 0x401637
push eax
push 0x4082ec
mov dword [esp + 0x34], eax
call fcn.00401e9b
add esp, 8
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
add eax, ecx
mov ecx, dword [esp + 0x28]
cmp eax, ecx
mov dword [esp + 0x24], eax
jne 0x40166f
test ecx, ecx
je 0x40166f
push 1
push 0x200
push ebp
call fcn.00401cda
add esp, 0xc
mov dword [esp + 0x24], 0
add esi, 0xc800
test edi, edi
jl 0x401749
je 0x401794
mov eax, dword [esp + 0x14]
add ebx, 0x10
cmp eax, 0x1000
jne 0x4016b9
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x38]
push ecx
push 0x10000
push 1
push edx
call fcn.0040193c
add esp, 0x10
cmp eax, 0x10000
jne 0x401762
mov dword [esp + 0x14], 0
jmp 0x4016bd
test eax, eax
jne 0x4016c1
lea ebx, [esp + 0x38]
mov eax, dword [esp + 0x1c]
sub eax, 3
je 0x40172a
dec eax
je 0x4016f3
dec eax
jne 0x40177b
movsx eax, byte [0x408ffc]
movsx ecx, word [0x409006]
push eax
push ecx
push 8
push ebx
push 0x409000
call section..text
jmp 0x401710
movsx edx, byte [0x408ffc]
movsx eax, word [0x409006]
push edx
push eax
push 8
push ebx
push 0x409000
call fcn.00401190
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
add esp, 0x14
inc ecx
inc eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jmp 0x4015f9
movsx ecx, byte [0x408ffc]
movsx edx, word [0x409006]
push ecx
push edx
push 8
push ebx
push 0x409000
call fcn.004012c0
jmp 0x401710
call fcn.004049b2
push 0x4082e0
call fcn.004018d0
add esp, 4
push 1
call fcn.00401dc6
push 0x4082d0
call fcn.004018d0
add esp, 4
call fcn.004049b2
push 1
call fcn.00401dc6
push 0x4082bc
call fcn.00401e9b
add esp, 4
call fcn.004049b2
push 1
call fcn.00401dc6
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x38]
push eax
mov eax, dword [esp + 0x18]
shl eax, 4
push eax
push 1
push ecx
call fcn.0040193c
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x28]
push 0
push 0x28
push esi
shl ebx, 4
call fcn.00401cda
mov edx, ebx
mov eax, ebx
sar edx, 0x18
mov byte [esp + 0x2f], dl
mov ecx, ebx
push esi
push 4
lea edx, [esp + 0x34]
push 1
sar eax, 0x10
sar ecx, 8
push edx
mov byte [esp + 0x3e], al
mov byte [esp + 0x3d], cl
mov byte [esp + 0x3c], bl
call fcn.0040193c
add esp, 0x2c
cmp eax, 4
je 0x401811
push 0x4082d0
call fcn.004018d0
add esp, 4
call fcn.004049b2
push 1
call fcn.00401dc6
push 0
push 4
push esi
call fcn.00401cda
add ebx, 0x24
push esi
mov eax, ebx
mov ecx, ebx
sar eax, 0x18
mov byte [esp + 0x23], al
mov edx, ebx
push 4
lea eax, [esp + 0x24]
sar ecx, 0x10
sar edx, 8
push 1
push eax
mov byte [esp + 0x2e], cl
mov byte [esp + 0x2d], dl
mov byte [esp + 0x2c], bl
call fcn.0040193c
add esp, 0x1c
cmp eax, 4
je 0x40186d
push 0x4082d0
call fcn.004018d0
add esp, 4
call fcn.004049b2
push 1
call fcn.00401dc6
push 0x4082a0
call fcn.00401e9b
add esp, 4
call fcn.004049b2
push 0
call fcn.00401dc6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0x4084f8
call fcn.00401e9b
push 0x4084d0
call fcn.00401e9b
push 0x4084a8
call fcn.00401e9b
push 0x408480
call fcn.00401e9b
push 0x4084f8
call fcn.00401e9b
add esp, 0x14
ret