Function at 0x4ae9a0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x7b0
mov eax, 0
mov ecx, 0x20a
lea edx, [ebp - 0x662]
lea esi, [ebp - 0x458]
lea edi, [ebp - 0x24e]
mov ebx, 0x28
mov dword [ebp - 0x680], eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x1c], 0
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x28
mov dword [ebp - 0x684], ebx
mov dword [ebp - 0x688], ecx
mov dword [ebp - 0x68c], edx
mov dword [ebp - 0x690], esi
mov dword [ebp - 0x694], edi
call fcn.004de490
mov eax, dword [ebp - 0x694]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x20a
call fcn.004de490
mov eax, dword [ebp - 0x690]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x20a
call fcn.004de490
mov eax, dword [ebp - 0x68c]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x20a
call fcn.004de490
mov dword [ebp - 0x670], 0
call fcn.004ad2e0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x67c], 0x19c150a5
mov eax, dword [ebp - 0x67c]
mov ecx, eax
sub ecx, 0x9572b8c7
mov dword [ebp - 0x698], eax
mov dword [ebp - 0x69c], ecx
jg 0x4aeaca
jmp 0x4aeaae
mov eax, dword [ebp - 0x698]
sub eax, 0x81a0b996
mov dword [ebp - 0x6a0], eax
je 0x4af5b4
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0xb66bdaa8
mov dword [ebp - 0x6a4], eax
jg 0x4aeb02
jmp 0x4aeae6
mov eax, dword [ebp - 0x698]
sub eax, 0x9572b8c8
mov dword [ebp - 0x6a8], eax
je 0x4af4f5
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x7fcdbff5
mov dword [ebp - 0x6ac], eax
jg 0x4aefd2
jmp 0x4aeb1e
mov eax, dword [ebp - 0x698]
sub eax, 0xbc70bb6b
mov dword [ebp - 0x6b0], eax
jg 0x4aeb56
jmp 0x4aeb3a
mov eax, dword [ebp - 0x698]
sub eax, 0xb66bdaa9
mov dword [ebp - 0x6b4], eax
je 0x4af4ab
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0xd012b7ed
mov dword [ebp - 0x6b8], eax
jg 0x4aeb8e
jmp 0x4aeb72
mov eax, dword [ebp - 0x698]
sub eax, 0xbc70bb6c
mov dword [ebp - 0x6bc], eax
je 0x4af239
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x796705a3
mov dword [ebp - 0x6c0], eax
jg 0x4aefb6
jmp 0x4aebaa
mov eax, dword [ebp - 0x698]
sub eax, 0x73d5c60b
mov dword [ebp - 0x6c4], eax
jg 0x4aef9a
jmp 0x4aebc6
mov eax, dword [ebp - 0x698]
sub eax, 0x7022cb3b
mov dword [ebp - 0x6c8], eax
jg 0x4aef7e
jmp 0x4aebe2
mov eax, dword [ebp - 0x698]
sub eax, 0x65081d12
mov dword [ebp - 0x6cc], eax
jg 0x4aef62
jmp 0x4aebfe
mov eax, dword [ebp - 0x698]
sub eax, 0x5b3eec6a
mov dword [ebp - 0x6d0], eax
jg 0x4aef46
jmp 0x4aec1a
mov eax, dword [ebp - 0x698]
sub eax, 0x3e6a540f
mov dword [ebp - 0x6d4], eax
jg 0x4aef2a
jmp 0x4aec36
mov eax, dword [ebp - 0x698]
sub eax, 0x349dc90e
mov dword [ebp - 0x6d8], eax
jg 0x4aef0e
jmp 0x4aec52
mov eax, dword [ebp - 0x698]
sub eax, 0x221bfeaf
mov dword [ebp - 0x6dc], eax
jg 0x4aeef2
jmp 0x4aec6e
mov eax, dword [ebp - 0x698]
sub eax, 0x1d5d4b0e
mov dword [ebp - 0x6e0], eax
jg 0x4aeed6
jmp 0x4aec8a
mov eax, dword [ebp - 0x698]
sub eax, 0x1c83768b
mov dword [ebp - 0x6e4], eax
jg 0x4aeeba
jmp 0x4aeca6
mov eax, dword [ebp - 0x698]
sub eax, 0x1b264e01
mov dword [ebp - 0x6e8], eax
jg 0x4aee9e
jmp 0x4aecc2
mov eax, dword [ebp - 0x698]
sub eax, 0x19c150a4
mov dword [ebp - 0x6ec], eax
jg 0x4aee82
jmp 0x4aecde
mov eax, dword [ebp - 0x698]
sub eax, 0x8321cf5
mov dword [ebp - 0x6f0], eax
jg 0x4aee66
jmp 0x4aecfa
mov eax, dword [ebp - 0x698]
sub eax, 0xa0206
mov dword [ebp - 0x6f4], eax
jg 0x4aee4a
jmp 0x4aed16
mov eax, dword [ebp - 0x698]
sub eax, 0xd0c721e5
mov dword [ebp - 0x6f8], eax
jg 0x4aed4e
jmp 0x4aed32
mov eax, dword [ebp - 0x698]
sub eax, 0xd012b7ee
mov dword [ebp - 0x6fc], eax
je 0x4af6a2
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0xd840fd29
mov dword [ebp - 0x700], eax
jg 0x4aed86
jmp 0x4aed6a
mov eax, dword [ebp - 0x698]
sub eax, 0xd0c721e6
mov dword [ebp - 0x704], eax
je 0x4af416
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0xe0f4a732
mov dword [ebp - 0x708], eax
jg 0x4aedbe
jmp 0x4aeda2
mov eax, dword [ebp - 0x698]
sub eax, 0xd840fd2a
mov dword [ebp - 0x70c], eax
je 0x4af6d8
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0xe79b1716
mov dword [ebp - 0x710], eax
jg 0x4aedf6
jmp 0x4aedda
mov eax, dword [ebp - 0x698]
sub eax, 0xe0f4a733
mov dword [ebp - 0x714], eax
je 0x4af6ca
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0xe79b1717
mov dword [ebp - 0x718], eax
je 0x4af43a
jmp 0x4aee12
mov eax, dword [ebp - 0x698]
sub eax, 0xfa1ed00a
mov dword [ebp - 0x71c], eax
je 0x4af7b6
jmp 0x4aee2e
mov eax, dword [ebp - 0x698]
sub eax, 0xfabdfa7d
mov dword [ebp - 0x720], eax
je 0x4af51b
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0xa0207
mov dword [ebp - 0x724], eax
je 0x4af65b
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x8321cf6
mov dword [ebp - 0x728], eax
je 0x4af014
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x19c150a5
mov dword [ebp - 0x72c], eax
je 0x4aeff3
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x1b264e02
mov dword [ebp - 0x730], eax
je 0x4af07c
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x1c83768c
mov dword [ebp - 0x734], eax
je 0x4af371
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x1d5d4b0f
mov dword [ebp - 0x738], eax
je 0x4af346
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x221bfeb0
mov dword [ebp - 0x73c], eax
je 0x4af64c
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x349dc90f
mov dword [ebp - 0x740], eax
je 0x4af671
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x3e6a5410
mov dword [ebp - 0x744], eax
je 0x4af2d2
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x5b3eec6b
mov dword [ebp - 0x748], eax
je 0x4af7cc
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x65081d13
mov dword [ebp - 0x74c], eax
je 0x4af023
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x7022cb3c
mov dword [ebp - 0x750], eax
je 0x4af21b
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x73d5c60c
mov dword [ebp - 0x754], eax
je 0x4af337
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x796705a4
mov dword [ebp - 0x758], eax
je 0x4af693
jmp 0x4aefee
mov eax, dword [ebp - 0x698]
sub eax, 0x7fcdbff6
mov dword [ebp - 0x75c], eax
je 0x4af6b8
jmp 0x4aefee
jmp 0x4af811
mov eax, 0x65081d13
mov ecx, 0x8321cf6
mov edx, dword [ebp - 0x14]
cmp edx, 0
cmovl eax, ecx
mov dword [ebp - 0x67c], eax
jmp 0x4af811
mov dword [ebp - 0x67c], 0x7fcdbff6
jmp 0x4af811
mov eax, 0xd840fd2a
mov ecx, 0x1b264e02
mov edx, 0
mov esi, dword [0x501460]
mov edi, dword [0x50145c]
sub edx, 1
mov ebx, esi
add ebx, edx
imul esi, ebx
and esi, 1
cmp esi, 0
sete dl
cmp edi, 0xa
setl dh
mov bl, dl
and bl, dh
xor dl, dh
or bl, dl
test bl, 1
cmovne eax, ecx
mov dword [ebp - 0x67c], eax
jmp 0x4af811
mov eax, 0x104
lea ecx, [ebp - 0x24e]
mov dword [esp], ecx
mov dword [esp + 4], 0x104
mov dword [ebp - 0x760], eax
call fcn.0040ed10
mov dword [ebp - 0x668], eax
mov eax, dword [0x5013f8]
call eax
lea ecx, [ebp - 0x44]
mov edx, 0
mov dword [0x4ffe2c], eax
mov eax, dword [0x4f3710]
movzx eax, word [eax]
mov dword [ebp - 0x674], eax
mov eax, dword [ebp - 0x674]
mov esi, edx
sub esi, eax
mov eax, edx
sub eax, 1
add esi, eax
sub edx, esi
mov eax, dword [0x4f3710]
movzx eax, word [eax + edx*2]
mov dword [ebp - 0x678], eax
mov eax, dword [ebp - 0x678]
mov edx, dword [0x4f3710]
mov esi, dword [ebp - 0x674]
shl esi, 1
add edx, esi
add edx, 4
mov esi, dword [0x4f3710]
add esi, 2
mov edi, dword [ebp - 0x674]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.0040c900
lea eax, [ebp - 0x44]
mov ecx, dword [0x4ffe2c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004140c0
mov ecx, 0xd840fd2a
mov edx, 0x7022cb3c
mov bl, 1
cmp eax, 0
setne bh
and bh, 1
mov byte [ebp - 0xd], bh
mov eax, dword [0x501460]
mov esi, dword [0x50145c]
mov edi, eax
sub edi, 0x9285243d
sub edi, 1
add edi, 0x9285243d
imul eax, edi
and eax, 1
cmp eax, 0
sete bh
cmp esi, 0xa
setl al
mov ah, bh
xor ah, 1
mov byte [ebp - 0x761], al
xor al, 1
xor bl, 0
mov byte [ebp - 0x762], al
mov al, ah
and al, 0
and bh, bl
mov byte [ebp - 0x763], al
mov al, byte [ebp - 0x762]
and al, 0
mov byte [ebp - 0x764], al
mov al, byte [ebp - 0x761]
and al, bl
mov byte [ebp - 0x765], al
mov al, byte [ebp - 0x763]
or al, bh
mov bh, byte [ebp - 0x764]
mov byte [ebp - 0x766], al
mov al, byte [ebp - 0x765]
or bh, al
mov al, byte [ebp - 0x766]
xor al, bh
mov bh, byte [ebp - 0x762]
or ah, bh
xor ah, 1
or bl, 0
and ah, bl
or al, ah
test al, 1
cmovne ecx, edx
mov dword [ebp - 0x67c], ecx
jmp 0x4af811
mov eax, 0x1d5d4b0f
mov ecx, 0xbc70bb6c
mov dl, byte [ebp - 0xd]
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x67c], eax
jmp 0x4af811
mov eax, 0xfa1ed00a
mov ecx, 0x3e6a5410
mov dl, 1
mov esi, dword [0x501460]
mov edi, dword [0x50145c]
mov ebx, esi
sub ebx, 0x2d8b73ef
sub ebx, 1
add ebx, 0x2d8b73ef
imul esi, ebx
and esi, 1
cmp esi, 0
sete dh
cmp edi, 0xa
setl bl
mov bh, dh
xor bh, 1
mov dword [ebp - 0x76c], eax
mov al, bl
xor al, 1
xor dl, 0
mov ah, bh
and ah, 0
and dh, dl
mov byte [ebp - 0x76d], al
and al, 0
and bl, dl
or ah, dh
or al, bl
xor ah, al
mov al, byte [ebp - 0x76d]
or bh, al
xor bh, 1
or dl, 0
and bh, dl
or ah, bh
test ah, 1
mov esi, dword [ebp - 0x76c]
cmovne esi, ecx
mov dword [ebp - 0x67c], esi
jmp 0x4af811
mov eax, 0xfa1ed00a
mov ecx, 0x73d5c60c
mov dword [ebp - 0x18], 0xffffffff
mov edx, dword [0x501460]
mov esi, dword [0x50145c]
mov edi, edx
sub edi, 0x47aaf185
sub edi, 1
add edi, 0x47aaf185
imul edx, edi
and edx, 1
cmp edx, 0
sete bl
cmp esi, 0xa
setl bh
mov dl, bl
and dl, bh
xor bl, bh
or dl, bl
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x67c], eax
jmp 0x4af811
mov dword [ebp - 0x67c], 0xe0f4a733
jmp 0x4af811
lea eax, [ebp - 0x670]
mov dword [esp], eax
call fcn.004ab370
mov ecx, 0x349dc90f
mov edx, 0x1c83768c
cmp eax, 0
cmovne ecx, edx
mov dword [ebp - 0x67c], ecx
jmp 0x4af811
mov eax, 0x104
lea ecx, [ebp - 0x458]
lea edx, [ebp - 0x24e]
mov esi, dword [ebp - 0x668]
mov dword [esp], ecx
mov dword [esp + 4], 0x104
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [ebp - 0x774], eax
call fcn.0040f8e0
lea ecx, [ebp - 0x458]
mov dword [ebp - 0x66c], eax
mov eax, dword [ebp - 0x66c]
add eax, 0xe739630a
sub eax, 4
sub eax, 0xe739630a
mov word [ebp + eax*2 - 0x458], 0
mov eax, dword [0x5013f4]
mov edx, esp
mov dword [edx + 8], 0
mov dword [edx + 0xc], ecx
mov dword [edx + 4], 0
mov dword [edx], 0
call eax
sub esp, 0x10
mov ecx, 0xfabdfa7d
mov edx, 0xd0c721e6
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
cmovne ecx, edx
mov dword [ebp - 0x67c], ecx
jmp 0x4af811
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
mov ecx, 0xb66bdaa9
mov edx, 0xe79b1717
cmp eax, 0xb7
cmove ecx, edx
mov dword [ebp - 0x67c], ecx
jmp 0x4af811
lea eax, [ebp - 0x458]
mov dword [esp], eax
call fcn.0040fec0
mov ecx, 0x104
lea edx, [ebp - 0x662]
lea esi, [ebp - 0x458]
mov dword [esp], edx
mov dword [esp + 4], 0x104
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [ebp - 0x778], ecx
call fcn.00413440
lea eax, [ebp - 0x662]
mov dword [esp], eax
call fcn.004adbb0
mov eax, dword [0x501404]
mov ecx, dword [ebp - 0x1c]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov dword [ebp - 0x67c], 0x9572b8c8
mov dword [ebp - 0x77c], eax
jmp 0x4af811
lea eax, [0x4ffe30]
mov ecx, 0x104
lea edx, [ebp - 0x24e]
mov esi, dword [ebp - 0x668]
mov dword [esp], eax
mov dword [esp + 4], 0x104
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [ebp - 0x780], ecx
call fcn.0040f1e0
mov dword [ebp - 0x67c], 0x9572b8c8
mov dword [ebp - 0x784], eax
jmp 0x4af811
mov eax, dword [ebp - 0x1c]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov dword [ebp - 0x67c], 0xa0207
mov dword [ebp - 0x788], eax
jmp 0x4af811
mov eax, 0x5b3eec6b
mov ecx, 0x81a0b996
mov dl, 1
mov esi, dword [0x501460]
mov edi, dword [0x50145c]
mov ebx, esi
add ebx, 0x7fc97f85
sub ebx, 1
sub ebx, 0x7fc97f85
imul esi, ebx
and esi, 1
cmp esi, 0
sete dh
cmp edi, 0xa
setl bl
mov bh, dh
xor bh, 1
mov dword [ebp - 0x78c], eax
mov al, bl
xor al, 1
xor dl, 0
mov ah, bh
and ah, 0
and dh, dl
mov byte [ebp - 0x78d], al
and al, 0
and bl, dl
or ah, dh
or al, bl
xor ah, al
mov al, byte [ebp - 0x78d]
or bh, al
xor bh, 1
or dl, 0
and bh, dl
or ah, bh
test ah, 1
mov esi, dword [ebp - 0x78c]
cmovne esi, ecx
mov dword [ebp - 0x67c], esi
jmp 0x4af811
lea eax, [0x4ffe30]
mov ecx, 0x104
lea edx, [ebp - 0x24e]
mov esi, dword [ebp - 0x668]
mov dword [esp], eax
mov dword [esp + 4], 0x104
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [ebp - 0x794], ecx
call fcn.0040f1e0
mov ecx, 0x5b3eec6b
mov edx, 0x221bfeb0
mov esi, dword [0x501460]
mov edi, dword [0x50145c]
mov ebx, esi
sub ebx, 0xaa5a31ab
sub ebx, 1
add ebx, 0xaa5a31ab
imul esi, ebx
and esi, 1
cmp esi, 0
sete bl
cmp edi, 0xa
setl bh
mov dword [ebp - 0x798], eax
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
cmovne ecx, edx
mov dword [ebp - 0x67c], ecx
jmp 0x4af811
mov dword [ebp - 0x67c], 0xa0207
jmp 0x4af811
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x67c], 0xe0f4a733
jmp 0x4af811
mov eax, 0xd012b7ee
mov ecx, 0x796705a4
cmp dword [ebp - 0x670], 6
cmovb eax, ecx
mov dword [ebp - 0x67c], eax
jmp 0x4af811
mov dword [ebp - 0x67c], 0x7fcdbff6
jmp 0x4af811
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x67c], 0xe0f4a733
jmp 0x4af811
mov eax, esp
mov dword [eax], 0
mov eax, dword [sym.imp.KERNEL32.dll_ExitProcess]
call eax
sub esp, 4
mov eax, dword [ebp - 0x18]
add esp, 0x7b0
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 0x104
lea ecx, [ebp - 0x24e]
mov dword [esp], ecx
mov dword [esp + 4], 0x104
mov dword [ebp - 0x79c], eax
call fcn.0040ed10
mov dword [ebp - 0x668], eax
mov eax, dword [0x5013f8]
call eax
lea ecx, [ebp - 0x44]
mov edx, 0
mov dword [0x4ffe2c], eax
mov eax, dword [0x4f3710]
movzx eax, word [eax]
mov dword [ebp - 0x674], eax
mov eax, dword [ebp - 0x674]
mov esi, edx
sub esi, eax
mov eax, edx
sub eax, 1
add esi, eax
sub edx, esi
mov eax, dword [0x4f3710]
movzx eax, word [eax + edx*2]
mov dword [ebp - 0x678], eax
mov eax, dword [ebp - 0x678]
mov edx, dword [0x4f3710]
mov esi, dword [ebp - 0x674]
shl esi, 1
add edx, esi
add edx, 4
mov esi, dword [0x4f3710]
add esi, 2
mov edi, dword [ebp - 0x674]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.0040c900
lea eax, [ebp - 0x44]
mov ecx, dword [0x4ffe2c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004140c0
mov dword [ebp - 0x67c], 0x1b264e02
mov dword [ebp - 0x7a0], eax
jmp 0x4af811
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x67c], 0x3e6a5410
jmp 0x4af811
lea eax, [0x4ffe30]
mov ecx, 0x104
lea edx, [ebp - 0x24e]
mov esi, dword [ebp - 0x668]
mov dword [esp], eax
mov dword [esp + 4], 0x104
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [ebp - 0x7a4], ecx
call fcn.0040f1e0
mov dword [ebp - 0x67c], 0x81a0b996
mov dword [ebp - 0x7a8], eax
jmp 0x4aea89