Function at 0x401120
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
sub esp, 0x378
push ebx
push edi
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x28]
xor ebx, ebx
rep stosd dword es:[edi], eax
push 0x40c2b8
mov dword [esp + 0x14], ebx
stosw word es:[edi], ax
call fcn.00401fec
push 0x40c274
call fcn.00401fec
mov eax, dword [esp + 0x38c]
add esp, 8
cmp eax, 2
jl 0x4017d5
cmp eax, 4
jg 0x4017d5
push ebp
mov ebp, dword [esp + 0x38c]
push esi
mov eax, dword [ebp + 4]
push eax
call fcn.0040aac6
mov ecx, dword [ebp + 4]
push ecx
call fcn.0040aac6
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x2e
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xc4]
push ecx
call fcn.00401f30
add esp, 0x10
test eax, eax
jne 0x4011fb
lea edi, [esp + 0xb8]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov edi, dword [0x40c030]
not ecx
dec ecx
lea edx, [esp + ecx + 0xb8]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x270]
lea edx, [esp + 0xb8]
push ecx
push ebx
push edx
call fcn.004010d0
add esp, 0xc
lea eax, [esp + 0xb8]
push 0x5c
push eax
call fcn.00401ef0
mov edx, eax
add esp, 8
cmp edx, ebx
je 0x40122f
inc edx
jmp 0x401251
lea ecx, [esp + 0xb8]
push 0x3a
push ecx
call fcn.00401ef0
mov edx, eax
add esp, 8
cmp edx, ebx
je 0x40124a
inc edx
jmp 0x401251
lea edx, [esp + 0xb8]
lea edi, [esp + 0x284]
or ecx, 0xffffffff
xor eax, eax
push 0x40c270
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xbc]
push ecx
call fcn.00401ed5
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x40130f
push esi
push 1
lea edx, [esp + 0x30]
push 4
push edx
call fcn.00401dcd
mov eax, dword [esp + 0x38]
add esp, 0x10
cmp eax, 0xf7
jne 0x4012cd
lea eax, [esp + 0xb8]
push eax
push 0x40c240
call fcn.00401fec
push esi
call fcn.00401d77
add esp, 0xc
jmp 0x4017b0
lea ecx, [esp + 0xb8]
push 0x40c23c
push ecx
call fcn.00401ed5
add esp, 8
cmp eax, ebx
mov dword [esp + 0x10], eax
je 0x4017b0
cmp dword [esp + 0x38c], 3
jne 0x401329
mov eax, dword [ebp + 8]
push eax
call fcn.0040aac6
add esp, 4
lea edx, [esp + 0x158]
mov edi, eax
jmp 0x401337
lea edx, [esp + 0xb8]
push edx
push 0x40c21c
call fcn.00401fec
add esp, 8
jmp 0x4017b0
lea edi, [esp + 0xb8]
lea edx, [esp + 0x158]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x2e
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x15c]
push ecx
call fcn.00401ef0
add esp, 8
test eax, eax
jne 0x401388
lea edi, [esp + 0x158]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov edi, dword [0x40c030]
not ecx
dec ecx
lea edx, [esp + ecx + 0x158]
jmp 0x4013a2
mov edi, dword [0x40c030]
lea ecx, [esp + 0x158]
push 0x2e
push ecx
call fcn.00401ef0
add esp, 8
mov edx, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x158]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea esi, [esp + 0xb8]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4013f1
cmp cl, bl
je 0x4013ed
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4013f1
add eax, 2
add esi, 2
cmp cl, bl
jne 0x4013cd
xor eax, eax
jmp 0x4013f6
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x401413
lea edi, [esp + 0x158]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + ecx + 0x157], 0x5f
lea eax, [esp + 0x158]
lea ecx, [esp + 0xb8]
push eax
push ecx
push 0x40c1e8
call fcn.00401fec
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov esi, 6
push edi
lea edx, [esp + 0x1fc]
push 0x78
push edx
call section..text
add esp, 0xc
dec esi
jne 0x401439
lea eax, [esp + 0x158]
push 0x40c1e4
push eax
xor ebp, ebp
call fcn.00401ed5
mov esi, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
add esp, 8
test byte [esi + 0xc], 0x10
jne 0x40176e
push esi
lea ecx, [esp + 0x1fc]
push 0x78
push ecx
call section..text
mov al, byte [esp + 0x204]
add esp, 0xc
cmp al, 0x61
je 0x40176e
test byte [esi + 0xc], 0x10
jne 0x40176e
lea edx, [esp + 0x24]
lea eax, [esp + 0x2c]
push edx
lea ecx, [esp + 0x134]
push eax
lea edx, [esp + 0x1d8]
push ecx
lea eax, [esp + 0x24]
push edx
push eax
lea ecx, [esp + 0x20c]
push 0x40c1d4
push ecx
inc ebp
call fcn.004019c2
fld dword [esp + 0x48]
fmul dword [0x40b0e0]
add esp, 0x1c
call fcn.00402070
fld dword [esp + 0x24]
fmul dword [0x40b0e0]
mov dword [esp + 0x1c], eax
call fcn.00402070
mov dword [esp + 0x20], eax
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x78]
rep stosd dword es:[edi], eax
mov esi, 0x40c1cc
lea eax, [esp + 0x130]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40153c
cmp cl, bl
je 0x401538
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40153c
add eax, 2
add esi, 2
cmp cl, bl
jne 0x401518
xor eax, eax
jmp 0x401541
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x401590
mov esi, 0x40c1c4
lea eax, [esp + 0x1d0]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40157f
cmp cl, bl
je 0x401571
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40157f
add eax, 2
add esi, 2
cmp cl, bl
jne 0x401551
xor ecx, ecx
xor eax, eax
cmp ecx, ebx
sete al
jmp 0x40164f
sbb ecx, ecx
sbb ecx, 0xffffffff
xor eax, eax
cmp ecx, ebx
sete al
jmp 0x40164f
mov esi, 0x40c1bc
lea eax, [esp + 0x130]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4015c0
cmp cl, bl
je 0x4015bc
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4015c0
add eax, 2
add esi, 2
cmp cl, bl
jne 0x40159c
xor eax, eax
jmp 0x4015c5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4015d0
mov eax, 3
jmp 0x40164f
mov esi, 0x40c1b4
lea eax, [esp + 0x130]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401600
cmp cl, bl
je 0x4015fc
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401600
add eax, 2
add esi, 2
cmp cl, bl
jne 0x4015dc
xor eax, eax
jmp 0x401605
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x401610
mov eax, 5
jmp 0x40164f
mov esi, 0x40c1ac
lea eax, [esp + 0x130]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401640
cmp cl, bl
je 0x40163c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401640
add eax, 2
add esi, 2
cmp cl, bl
jne 0x40161c
xor eax, eax
jmp 0x401645
sbb eax, eax
sbb eax, 0xffffffff
neg eax
sbb eax, eax
and eax, 5
add eax, 4
mov ecx, 1
cmp ebp, ecx
jne 0x4016d7
mov dx, word [esp + 0x18]
cmp eax, 9
mov word [esp + 0x30], 0xf7
mov byte [esp + 0x34], 2
mov word [esp + 0x32], cx
mov word [esp + 0x3a], dx
mov word [esp + 0x3c], cx
mov word [esp + 0x3e], bx
mov byte [esp + 0x36], al
je 0x401698
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
jmp 0x4016c3
mov edx, dword [0x40c19c]
mov eax, dword [0x40c1a0]
mov ecx, dword [0x40c1a4]
mov dword [esp + 0x40], edx
mov dl, byte [0x40c1a8]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
mov byte [esp + 0x4c], dl
mov dword [esp + 0x72], ebx
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x30]
push eax
push ecx
call fcn.00401090
jmp 0x40175b
mov dx, word [esp + 0x18]
lea ecx, [ebp - 1]
cmp eax, 9
mov word [esp + 0x7c], dx
mov word [esp + 0x7e], bp
mov word [esp + 0x80], cx
mov byte [esp + 0x78], al
je 0x401712
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x82], edx
mov dword [esp + 0x86], eax
jmp 0x40174c
mov ecx, dword [0x40c19c]
mov edx, dword [0x40c1a0]
mov eax, dword [0x40c1a4]
mov dword [esp + 0x82], ecx
mov cl, byte [0x40c1a8]
mov dword [esp + 0x86], edx
mov dword [esp + 0x8a], eax
mov byte [esp + 0x8e], cl
mov dword [esp + 0xb4], ebx
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x78]
push edx
push eax
call fcn.004010b0
mov ecx, dword [esp + 0x18]
add esp, 8
mov esi, ecx
test byte [ecx + 0xc], 0x10
je 0x401478
mov edi, dword [esp + 0x14]
push ebx
push ebx
push edi
call fcn.00401ceb
lea edx, [esp + 0x3c]
push edi
push edx
mov word [esp + 0x46], bp
call fcn.00401090
movsx eax, word [esp + 0x46]
push eax
push 0x40c188
call fcn.00401fec
push esi
call fcn.00401d77
push edi
call fcn.00401d77
mov ebp, dword [esp + 0x3b4]
add esp, 0x24
lea ecx, [esp + 0x270]
push ecx
call fcn.00401100
add esp, 4
test eax, eax
je 0x401214
pop esi
pop ebp
pop edi
xor eax, eax
pop ebx
add esp, 0x378
ret
push 0x40c15c
call fcn.00401fec
push 0x40c128
call fcn.00401fec
push 0x40c0e0
call fcn.00401fec
push 0x40c09c
call fcn.00401fec
push 0x40c07c
call fcn.00401fec
push 0x40c05c
call fcn.00401fec
push 0x40c048
call fcn.00401fec
add esp, 0x1c
push 1
call fcn.00401c16
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop