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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
push ebx
push esi
push edi
mov edi, ecx
xor esi, esi
mov ebx, edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x1c], esi
mov ecx, dword [edi + 8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], esi
test ecx, ecx
jne 0x41980f
xor eax, eax
jmp 0x41a327
test ebx, ebx
jne 0x419848
push 0x65
pop edx
mov dword [esp + 0x14], edx
sub edx, 0x5f
je 0x419b2b
dec edx
dec edx
je 0x419b1a
sub edx, 4
jne 0x41a1aa
mov ebx, dword [ebp + 8]
push ebx
push esi
push 0x3b
pop edx
call fcn.00409192
pop ecx
pop ecx
jmp 0x419bcd
movzx edx, byte [ebx]
mov dword [esp + 0x14], edx
cmp edx, 0x77
jg 0x419b7b
je 0x419b53
cmp edx, 0x4a
jg 0x419a64
je 0x4199f9
cmp edx, 0x3d
jg 0x4199be
je 0x41995c
sub edx, 0x13
je 0x419b2b
dec edx
je 0x419b6a
sub edx, 0x11
je 0x4198fd
sub edx, 0x13
jne 0x41a1aa
cmp dword [edi + 0x7c], esi
jne 0x4198b1
push 0x4ab730
push edi
call fcn.003f4527
pop ecx
pop ecx
jmp 0x419808
cmp byte [ebx + 1], 2
jne 0x4198c2
mov ecx, edi
call fcn.004217a3
mov ecx, dword [esp + 0xc]
mov al, byte [ebx + 1]
push esi
cmp al, 4
jne 0x4198e1
push dword [ebx + 8]
push esi
push 4
push esi
push 0x37
pop edx
call fcn.00409258
add esp, 0x14
jmp 0x41a310
push esi
push dword [ebx + 8]
movsx eax, al
mov edx, 0x713
push eax
mov ecx, edi
call fcn.004217b0
add esp, 0x10
jmp 0x41a310
mov esi, dword [ebp + 8]
mov ecx, edi
mov edx, dword [ebx + 0xc]
push esi
call fcn.004197d4
mov dword [esp + 0x20], eax
pop ecx
cmp eax, esi
je 0x419928
mov ecx, dword [esp + 0xc]
push esi
push eax
push 0x41
pop edx
call fcn.00409192
pop ecx
pop ecx
mov dword [esp + 0x1c], esi
mov ecx, dword [ebx + 8]
xor edx, edx
call fcn.0041e7b0
mov ecx, dword [esp + 0xc]
movsx eax, al
push eax
push esi
push 0x49
pop edx
call fcn.00409192
mov edx, dword [esp + 0x24]
mov ecx, edi
push 1
call fcn.004196ff
mov eax, dword [esp + 0x28]
add esp, 0xc
jmp 0x41a327
mov eax, dword [ebx + 0x2c]
mov edx, 0x90
mov esi, dword [ebp + 8]
mov dword [esp + 0x30], eax
push esi
movsx ecx, word [eax + 0x2a]
movsx eax, word [ebx + 0x20]
inc ecx
imul ecx, dword [ebx + 0x1c]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x10]
push eax
call fcn.00409192
movzx eax, word [ebx + 0x20]
pop ecx
pop ecx
test ax, ax
js 0x41a310
movsx ecx, ax
mov eax, dword [esp + 0x30]
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0xd], 0x45
jne 0x41a310
mov ecx, dword [esp + 0xc]
push esi
push 0x48
pop edx
call fcn.0040917e
jmp 0x419b4d
cmp edx, 0x46
jl 0x41a1aa
cmp edx, 0x47
jle 0x419a8d
cmp edx, 0x48
je 0x419cc6
cmp edx, 0x49
jne 0x41a1aa
push esi
push esi
mov esi, dword [ebp + 8]
mov edx, ebx
push esi
mov ecx, edi
call fcn.0041a6a4
add esp, 0xc
jmp 0x419c1f
call fcn.0040935e
mov ecx, dword [esp + 0xc]
mov esi, eax
call fcn.0040935e
push dword [ebp + 8]
mov ecx, dword [esp + 0x10]
mov edi, eax
push 0
push 0x3b
pop edx
call fcn.00409192
mov ecx, dword [esp + 0x2c]
mov edx, ebx
push edi
push esi
call fcn.00418d9b
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x1c]
push ebx
push 1
push 0x38
pop edx
call fcn.00409192
mov edx, esi
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.004093a0
push 0
push ebx
push 0x45
pop edx
call fcn.00409192
add esp, 0x20
mov edx, edi
mov ecx, esi
call fcn.004093a0
jmp 0x419bcd
cmp edx, 0x5e
jg 0x41981a
je 0x41a149
cmp edx, 0x4c
jle 0x419ac9
cmp edx, 0x52
jle 0x419cde
lea eax, [edx - 0x54]
cmp eax, 9
ja 0x41a1aa
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x10]
push eax
mov ecx, edi
call fcn.0041a42e
mov edx, dword [ebx + 0x10]
mov esi, eax
pop ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
call fcn.0041a42e
mov edx, dword [esp + 0x18]
pop ecx
push dword [ebp + 8]
push esi
push eax
mov ecx, dword [esp + 0x18]
call fcn.0040910e
add esp, 0xc
jmp 0x41a310
push dword [ebp + 8]
push 1
push 0x38
pop edx
call fcn.00409192
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call fcn.0041a42e
mov ebx, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [esp + 0x14]
mov ecx, ebx
push eax
call fcn.0040917e
pop ecx
push dword [ebp + 8]
mov ecx, ebx
mov esi, eax
push 0
push 0x38
pop edx
call fcn.00409192
pop ecx
pop ecx
mov edx, esi
mov ecx, ebx
call fcn.00409643
jmp 0x41a310
push dword [ebx + 8]
mov edx, dword [ebp + 8]
call fcn.004091b8
pop ecx
jmp 0x41a324
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x10]
push eax
mov ecx, edi
call fcn.0041a42e
mov edx, dword [esp + 0x18]
pop ecx
push dword [ebp + 8]
mov ecx, dword [esp + 0x10]
push eax
call fcn.00409192
pop ecx
pop ecx
jmp 0x41a310
mov eax, dword [ebx + 0x14]
mov eax, dword [eax]
cmp dword [eax], 1
je 0x419b6a
mov edx, dword [eax]
mov ecx, edi
push 1
call fcn.00418868
jmp 0x419b4d
push esi
push esi
mov edx, ebx
mov ecx, edi
call fcn.004188aa
pop ecx
jmp 0x419e1b
lea eax, [edx - 0x84]
cmp eax, 0x1e
ja 0x41a1aa
movzx eax, byte [eax + 0x44af70]
jmp dword [eax*4 + 0x44af30]
mov eax, ebx
jmp 0x41a327
mov eax, esi
jmp 0x41a327
xor eax, eax
mov esi, 0x80
cmp edx, 0x48
mov dword [esp + 0x1c], esi
sete al
lea edx, [eax + 0x4d]
mov dword [esp + 0x14], edx
mov eax, dword [ebx + 0xc]
mov ecx, eax
mov dword [esp + 0x18], eax
call fcn.00416c26
mov ecx, edi
test eax, eax
je 0x419d03
push esi
push edx
push dword [ebp + 8]
mov edx, ebx
call fcn.00416d43
jmp 0x419ac1
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push eax
call fcn.0041a42e
mov edx, dword [ebx + 0x10]
mov esi, eax
pop ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
call fcn.0041a42e
mov edx, dword [esp + 0x1c]
pop ecx
mov ecx, dword [esp + 0x1c]
or ecx, 0x20
push ecx
push dword [ebp + 8]
mov ecx, edi
push eax
push esi
push dword [esp + 0x24]
push dword [ebx + 0x10]
call fcn.00416bc9
add esp, 0x18
jmp 0x41a310
pop ecx
jmp 0x41a327
push dword [ebp + 8]
mov ecx, edi
call fcn.004197d4
jmp 0x419e1b
mov edx, dword [ebx + 0xc]
jmp 0x419f22
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], esi
lea edx, [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
call fcn.0040935e
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edx
test edx, edx
je 0x41a233
push 0xc
mov esi, edx
lea edi, [esp + 0x3c]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x24]
lea eax, [esp + 0x10]
push eax
lea edx, [esp + 0x3c]
mov ecx, edi
call fcn.00419749
pop ecx
mov edx, eax
lea ecx, [esp + 0x38]
call fcn.00419736
push 0x30
xor ebx, ebx
lea eax, [esp + 0x6c]
push ebx
push eax
call fcn.0044ab50
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x44]
mov dword [esp + 0x80], eax
add esp, 0xc
lea eax, [esp + 0x68]
mov byte [esp + 0x68], 0x4e
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x14]
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0xc]
lea ecx, [eax - 1]
test ecx, ecx
jle 0x41a2d0
lea eax, [ecx - 1]
shr eax, 1
inc eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
mov ecx, edi
call fcn.0041949e
mov eax, dword [eax]
test edx, edx
je 0x41a26a
mov dword [esp + 0x78], eax
jmp 0x41a26e
mov dword [esp + 0x1c], eax
mov ecx, esi
call fcn.0040935e
push 0x10
mov esi, eax
push esi
push dword [esp + 0x24]
push edi
call fcn.0041a9f2
mov edx, dword [esp + 0x28]
mov ecx, edi
push ebx
mov edx, dword [edx + 0x18]
call fcn.0041a4a0
mov edx, dword [esp + 0x34]
add esp, 0x14
mov ecx, dword [esp + 0xc]
call fcn.004091a7
mov ecx, edi
call fcn.004194a2
mov edx, esi
mov esi, dword [esp + 0xc]
mov ecx, esi
call fcn.004093a0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
add eax, 0x30
dec dword [esp + 0x30]
mov dword [esp + 0x18], eax
jne 0x41a257
mov eax, dword [esp + 0x14]
test al, 1
je 0x41a2f6
mov ecx, edi
call fcn.0041949e
imul edx, eax, 0x18
mov eax, dword [esp + 0x34]
push ebx
mov edx, dword [edx + eax - 0x10]
call fcn.0041a4a0
pop ecx
mov ecx, edi
call fcn.004194a2
jmp 0x41a305
push ebx
push 0
push 0x3b
pop edx
mov ecx, esi
call fcn.00409192
pop ecx
pop ecx
mov edx, dword [esp + 0x20]
mov ecx, esi
call fcn.004093a0
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.0041b41a
mov edx, dword [esp + 0x2c]
call fcn.0041b41a
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret