Function at 0x401d60
Capabilities:
Terminate process

Disassembly:
sub esp, 0x330
push ebx
push ebp
push esi
push edi
push 0x40a3c4
call fcn.00403f52
push 0x40a384
call fcn.00403f52
push 0x40a3c4
call fcn.00403f52
push 0x40a344
call fcn.00403f52
push 0x40a3c4
call fcn.00403f52
push 0x40a304
call fcn.00403f52
push 0x40a3c4
call fcn.00403f52
mov eax, dword [esp + 0x360]
add esp, 0x1c
cmp eax, 3
je 0x401e2d
mov eax, dword [esp + 0x348]
mov ecx, dword [eax]
push ecx
push 0x40a2d4
call fcn.00403f52
push 0x40a3c4
call fcn.00403f52
push 0x40a2b8
call fcn.00403f52
push 0x40a290
call fcn.00403f52
push 0x40a274
call fcn.00403f52
push 0x40a248
call fcn.00403f52
push 0x40a3c4
call fcn.00403f52
push 0x40a228
call fcn.00403f52
push 0x40a1ec
call fcn.00403f52
add esp, 0x28
push 1
call fcn.00403e7d
mov esi, dword [esp + 0x348]
push 0x40a1e8
mov edx, dword [esi + 4]
push edx
call fcn.00404195
mov ebp, eax
xor edi, edi
add esp, 8
cmp ebp, edi
jne 0x401e67
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push eax
push ecx
push 0x40a1c8
call fcn.00403f52
add esp, 0xc
push edi
call fcn.00403e7d
mov edx, dword [esi + 8]
push 0x40a1c4
push edx
call fcn.00404195
mov ebx, eax
add esp, 8
cmp ebx, edi
jne 0x401e98
mov eax, dword [esi + 8]
mov ecx, dword [esi]
push eax
push ecx
push 0x40a1c8
call fcn.00403f52
add esp, 0xc
push edi
call fcn.00403e7d
push ebx
push ebp
call fcn.00402280
push 0x40a188
call fcn.00403f52
push 0x40a14c
call fcn.00403f52
push 0x40a110
call fcn.00403f52
push 0x40a0d4
call fcn.00403f52
push 0x40a14c
call fcn.00403f52
push 0x40a188
call fcn.00403f52
mov edx, dword [esi + 4]
push edx
push 0x40a0b8
call fcn.00403f52
mov eax, dword [esi + 8]
push eax
push 0x40a09c
call fcn.00403f52
xor ecx, ecx
mov word [0x40cd94], di
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], ecx
call fcn.00401900
call fcn.004034b0
call fcn.00403360
push ebp
push 0xb
lea edx, [esp + 0x7c]
push 2
push edx
xor esi, esi
call fcn.0040408d
add esp, 0x40
cmp eax, 0xb
jne 0x4020dc
add esi, 2
movsx eax, si
push eax
push 0x40a090
call fcn.00403f52
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x1e4]
push ecx
push edx
call 0x402100
lea eax, [esp + 0x26]
lea ecx, [esp + 0x1f0]
push eax
push ecx
call fcn.004014c0
add esp, 0x18
mov word [esp + 0x14], di
lea eax, [esp + 0x1e0]
mov ecx, 9
cmp word [eax], di
jne 0x401fa4
mov word [esp + 0x14], 1
add eax, 2
dec ecx
jne 0x401f98
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1a]
push edx
push eax
call fcn.00403300
lea ecx, [esp + 0x18]
mov word [esp + 0x24], ax
lea edx, [esp + 0x64]
push ecx
lea eax, [esp + 0xa8]
push edx
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.00401950
lea edx, [esp + 0x28]
lea eax, [esp + 0x74]
push edx
lea ecx, [esp + 0xb8]
push eax
push ecx
call fcn.00403500
lea edx, [esp + 0xc0]
push 0xa0
push edx
call fcn.00403390
push ebx
push 0xa0
lea eax, [esp + 0xd0]
push 2
push eax
call fcn.00403f83
add esp, 0x3c
cmp eax, 0xa0
jne 0x4020e9
mov word [esp + 0x2a], di
lea eax, [esp + 0x1f6]
mov ecx, 9
cmp word [eax], di
jne 0x402043
mov word [esp + 0x2a], 1
add eax, 2
dec ecx
jne 0x402037
mov ecx, dword [esp + 0x32]
mov edx, dword [esp + 0x30]
push ecx
push edx
call fcn.00403300
mov word [esp + 0x3a], ax
lea eax, [esp + 0x18]
lea ecx, [esp + 0x64]
push eax
lea edx, [esp + 0xa8]
push ecx
lea eax, [esp + 0x3a]
push edx
push eax
call fcn.00401950
lea ecx, [esp + 0x28]
lea edx, [esp + 0x74]
push ecx
lea eax, [esp + 0xb8]
push edx
push eax
call fcn.00403500
lea ecx, [esp + 0xc0]
push 0xa0
push ecx
call fcn.00403390
push ebx
push 0xa0
lea edx, [esp + 0xd0]
push 2
push edx
call fcn.00403f83
add esp, 0x3c
cmp eax, 0xa0
jne 0x4020f0
push ebp
push 0xb
lea eax, [esp + 0x4c]
push 2
push eax
call fcn.0040408d
add esp, 0x10
cmp eax, 0xb
je 0x401f4f
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x330
ret
push 1
call fcn.00403e7d
push 1
call fcn.00403e7d
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
push esi
mov esi, 0xb
mov word [eax], 0x6b21
mov word [eax + 2], 0x50
add eax, 8
mov word [eax - 4], 0
mov dx, word [ecx]
and edx, 0x8000
neg edx
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax - 4], dx
mov dx, word [ecx]
and edx, 0x4000
neg edx
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax - 2], dx
mov dx, word [ecx]
and edx, 0x2000
neg edx
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax], dx
mov dx, word [ecx]
and edx, 0x1000
neg edx
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax + 2], dx
mov dx, word [ecx]
and edx, 0x800
neg edx
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax + 4], dx
mov dx, word [ecx]
and edx, 0x400
neg edx
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax + 6], dx
mov dx, word [ecx]
and edx, 0x200
neg edx
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax + 8], dx
mov dx, word [ecx]
and edx, 0x100
neg edx
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax + 0xa], dx
mov dl, byte [ecx]
and dl, 0x80
neg dl
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax + 0xc], dx
mov dl, byte [ecx]
and dl, 0x40
neg dl
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax + 0xe], dx
mov dl, byte [ecx]
and dl, 0x20
neg dl
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax + 0x10], dx
mov dl, byte [ecx]
and dl, 0x10
neg dl
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax + 0x12], dx
mov dl, byte [ecx]
and dl, 8
neg dl
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax + 0x14], dx
mov dl, byte [ecx]
and dl, 4
neg dl
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax + 0x16], dx
mov dl, byte [ecx]
and dl, 2
neg dl
sbb edx, edx
and edx, 2
add edx, 0x7f
mov word [eax + 0x18], dx
mov dl, byte [ecx]
and dl, 1
neg dl
sbb edx, edx
add eax, 0x20
and edx, 2
add ecx, 2
add edx, 0x7f
dec esi
mov word [eax - 6], dx
jne 0x40211c
pop esi
ret