Function at 0x40f6d6
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xac
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x80], esi
cmp dword [ebp + 0xc], 0
jne 0x40f736
mov eax, dword [esi + 0x110]
mov dword [esp + 4], eax
mov dword [esp], 0x40f670
call fcn.00450633
mov eax, dword [esi + 0x110]
mov dword [ebp + 0xc], eax
test eax, eax
jne 0x40f736
mov dword [esp + 4], 0x40f697
mov dword [esp], 0xffffffff
call fcn.0044ed0c
mov dword [esp + 4], 0x2f
mov edx, dword [ebp + 0xc]
mov dword [esp], edx
call sub.cygwin1.dll_strrchr
mov dword [ebp - 0x84], eax
test eax, eax
jne 0x40f75e
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x84], edi
jmp 0x40f764
inc dword [ebp - 0x84]
cmp dword [ebp + 8], 0
je 0x40f85b
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
test eax, eax
jne 0x40f7c4
mov edx, dword [ebp + 8]
mov ebx, dword [edx + 0xc]
test ebx, ebx
je 0x40f7b7
mov edi, dword [ebp - 0x84]
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x110]
mov dword [esp], eax
call sub.cygwin1.dll_strcmp
test eax, eax
jne 0x40f7b1
test byte [ebx + 0x128], 0x20
jne 0x40fd6b
mov ebx, dword [ebx]
test ebx, ebx
jne 0x40f788
cmp dword [ebp - 0x8c], 0
je 0x40f85b
cmp dword [ebp + 0x14], 0
je 0x40f845
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x20]
mov dword [esp], eax
call sub.cygwin1.dll_strcmp
test eax, eax
jne 0x40f845
mov edi, dword [ebp - 0x8c]
cmp dword [edi + 0x1c], 0
je 0x40f811
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x1c]
mov dword [esp], eax
call sub.cygwin1.dll_strcmp
mov edx, edi
test eax, eax
je 0x40fd94
mov edx, dword [ebp + 8]
cmp edx, dword [0x4a2a30]
je 0x40f845
mov edi, dword [ebp - 0x84]
mov dword [esp + 4], edi
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x20]
mov dword [esp], eax
call sub.cygwin1.dll_strcmp
mov edx, dword [ebp - 0x8c]
test eax, eax
je 0x40fd94
mov edi, dword [ebp - 0x8c]
mov edi, dword [edi]
mov dword [ebp - 0x8c], edi
test edi, edi
jne 0x40f7c4
test esi, esi
jne 0x40f965
mov dword [esp], 0x1a0
call fcn.0040b0aa
mov esi, eax
cld
mov ebx, 0
mov ecx, 0x68
mov edi, eax
mov eax, ebx
rep stosd dword es:[edi], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc]
mov dword [esi], eax
mov dword [edx + 0xc], esi
mov edi, dword [ebp - 0x84]
mov dword [esp], edi
call fcn.0040b132
mov dword [esi + 0x110], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0040b132
mov dword [esi + 0x118], eax
mov edx, dword [ebp + 8]
mov dword [esi + 0x11c], edx
mov byte [esi + 0x21], 2
mov word [esi + 0x10c], 0x8000
mov dword [esi + 0x158], 0xffffffff
mov dword [esi + 0x15c], 0xffffffff
mov dword [esi + 0x160], 0xffffffff
mov eax, dword [0x458030]
mov dword [esp + 4], eax
lea eax, [esi + 0x24]
mov dword [esp], eax
call fcn.00424733
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.0042166a
call fcn.00410107
cmp dword [0x45a180], 0
je 0x40f965
mov dword [esp], 0x54
call fcn.0040b0aa
mov edx, eax
cld
mov ecx, 0x15
mov edi, eax
mov eax, ebx
rep stosd dword es:[edi], eax
mov eax, dword [0x4a2ae0]
mov dword [edx + 0x2c], eax
mov eax, dword [0x4a2ad8]
mov dword [edx + 0x30], eax
mov dword [esi + 0x178], edx
mov dword [esp + 8], esi
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov edx, dword [ebp + 0xc]
mov dword [esp], edx
call fcn.004271ce
mov dword [esp], 0x54
call fcn.0040b0aa
mov dword [ebp - 0x8c], eax
cld
mov ecx, 0x15
mov eax, 0
mov edi, dword [ebp - 0x8c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0x14], esi
mov dword [eax + 0xc], 0
mov edx, dword [ebp + 0xc]
mov dword [esp], edx
call fcn.0040b132
mov edi, dword [ebp - 0x8c]
mov dword [edi + 0x18], eax
mov dword [esp + 4], 0x2f
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_strrchr
test eax, eax
je 0x40f9d5
inc eax
jmp 0x40f9d8
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0040b132
mov edx, dword [ebp - 0x8c]
mov dword [edx + 0x20], eax
mov dword [edx + 0x1c], 0
mov dword [esp + 4], edx
mov edi, dword [ebp + 8]
mov dword [esp], edi
call fcn.0040f5d6
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x2c], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x34], 0
mov eax, dword [esi + 0x178]
mov edx, dword [ebp - 0x8c]
mov dword [edx + 0x48], eax
cmp dword [ebp - 0x80], 0
jne 0x40fac9
test edi, edi
je 0x40fa46
mov eax, dword [edi + 0x18]
cmp byte [eax], 0
jne 0x40fa4d
mov ebx, 0xffffffff
jmp 0x40fa64
lea eax, [ebp - 0x78]
mov dword [esp + 4], eax
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x18]
mov dword [esp], eax
call fcn.0040b4bc
mov ebx, eax
cmp dword [0x45a09c], 0
je 0x40fa8d
cmp dword [ebp + 8], 0
je 0x40fa8d
mov dword [esp + 8], ebx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
mov dword [esp + 4], eax
mov dword [esp], 0x40f6b0
call fcn.00450633
test ebx, ebx
jne 0x40faab
lea eax, [ebp - 0x78]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov edi, dword [ebp - 0x8c]
mov dword [esp], edi
jmp 0x40fac4
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call fcn.0040c95c
cmp dword [ebp + 8], 0
je 0x40fada
mov edx, dword [ebp + 8]
cmp edx, dword [0x45a010]
jne 0x40fb53
cmp dword [0x45a010], 0
jne 0x40fb03
mov edi, dword [ebp - 0x8c]
mov dword [0x45a010], edi
mov dword [edi + 0x28], 0
mov eax, dword [0x45a010]
mov dword [eax + 8], eax
jmp 0x40fc5e
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x28], 1
mov eax, dword [0x45a010]
cmp dword [eax + 4], 0
jne 0x40fb26
mov edx, dword [ebp - 0x8c]
mov dword [eax + 4], edx
jmp 0x40fb42
mov eax, dword [0x45a010]
mov eax, dword [eax + 4]
cmp dword [eax], 0
je 0x40fb3a
mov eax, dword [eax]
cmp dword [eax], 0
jne 0x40fb33
mov edi, dword [ebp - 0x8c]
mov dword [eax], edi
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x8c]
mov dword [eax + 8], edx
jmp 0x40fc5e
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x28]
cmp eax, dword [0x458044]
jbe 0x40fc17
cmp dword [0x45a08c], 0
je 0x40fbdd
mov dword [esp + 0x10], 0x4a2aa0
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x20]
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0040d5ce
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov eax, dword [0x4a2a30]
mov dword [esp], eax
call fcn.0040f6d6
mov dword [ebp - 0x7c], eax
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov edi, dword [ebp - 0x7c]
mov dword [esp + 4], edi
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0040f5d6
or dword [ebp - 0x88], 4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x28]
cmp eax, dword [0x458044]
jbe 0x40fc17
cmp dword [0x45a08c], 0
jne 0x40fc17
mov dword [esp + 8], 0
mov edi, dword [ebp + 0xc]
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.0040d001
mov dword [esp], 0xffffffff
call sub.cygwin1.dll_exit
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x8c]
mov dword [eax + 8], edx
mov eax, dword [edx + 0x28]
inc eax
mov edi, dword [ebp - 0x8c]
mov dword [edi + 0x28], eax
test byte [ebp - 0x88], 4
jne 0x40fc5e
cmp dword [edx + 4], 0
jne 0x40fc44
mov dword [edx + 4], edi
jmp 0x40fc5e
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
cmp dword [eax], 0
je 0x40fc56
mov eax, dword [eax]
cmp dword [eax], 0
jne 0x40fc4f
mov edi, dword [ebp - 0x8c]
mov dword [eax], edi
cmp dword [ebp - 0x80], 0
je 0x40fc7a
cmp dword [ebp + 8], 0
jne 0x40fd62
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
jne 0x40fd62
call fcn.00410107
mov eax, dword [0x458014]
or eax, 0x4000
mov dword [0x4a2ab0], eax
mov word [0x4a2ab4], 2
cmp dword [0x45a090], 0
jne 0x40fca9
cmp dword [0x45a08c], 0
je 0x40fceb
cmp dword [ebp + 8], 0
jne 0x40fcb7
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0
je 0x40fceb
mov edi, dword [ebp - 0x88]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0x4a2aa0
mov dword [esp + 0xc], 0x4a2aa0
mov dword [esp + 8], esi
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], 0x40b57e
call fcn.004161c0
mov eax, dword [0x4a2ab0]
mov dword [esi + 0x12c], eax
mov eax, dword [0x4a2ab8]
mov dword [esi + 0x134], eax
mov eax, dword [0x4a2abc]
mov dword [esi + 0x138], eax
mov eax, dword [0x4a2ad0]
mov dword [esi + 0x13c], eax
mov eax, dword [0x4a2ad4]
mov dword [esi + 0x140], eax
mov eax, dword [0x4a2ad8]
mov dword [esi + 0x144], eax
mov eax, dword [0x4a2adc]
mov dword [esi + 0x148], eax
mov eax, dword [0x4a2ae0]
mov dword [esi + 0x14c], eax
mov eax, dword [0x4a2ae4]
mov dword [esi + 0x150], eax
mov eax, dword [0x4a2ad8]
mov dword [esp + 4], eax
lea eax, [esi + 0x1a]
mov dword [esp], eax
call fcn.0040674a
mov edx, dword [ebp - 0x7c]
test edx, edx
jne 0x40fd94
jmp 0x40fd8e
mov edx, dword [ebp + 0x14]
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov edi, dword [ebp + 0xc]
mov dword [esp + 4], edi
mov eax, dword [0x4a2a30]
mov dword [esp], eax
call fcn.0040f6d6
mov edx, eax
jmp 0x40fd94
mov edx, dword [ebp - 0x8c]
mov eax, edx
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret