Function at 0x459092
Capabilities:
Terminate process

Disassembly:
push 0x34
mov eax, 0x48c846
call fcn.0047ec24
mov edi, edx
mov ebx, ecx
mov esi, dword [ebp + 0xc]
and dword [ebp - 4], 0
mov eax, dword [ebp + 8]
and dword [ebp + 8], 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
mov edx, dword [ebx + 4]
push ecx
mov ecx, eax
call fcn.00458bf1
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
push 1
push 0
lea eax, [ebp - 0x21]
push eax
push esi
push 0
push dword [ebx + 4]
push dword [ebx + 8]
call fcn.00458c75
cmp byte [ebp - 0x21], 0
mov dword [ebp - 0x20], eax
je 0x4b109b
lea eax, [ebp - 0x20]
mov dword [ebp - 0x2c], 0x5a3840
push eax
lea eax, [ebp - 0x1c]
push eax
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x3c]
call fcn.0047e0c6
mov ecx, dword [ebp - 0x20]
mov edx, ebx
mov esi, dword [ebp - 0x28]
and dword [ebp - 0x30], 0
push ecx
mov eax, esp
push ecx
mov ecx, edi
mov dword [eax], esi
lea eax, [ebp - 0x2c]
push eax
xor esi, esi
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.00458d10
cmp byte [ebp - 0x28], 0
je 0x45914c
cmp dword [0x5a303c], 6
jne 0x45914c
mov eax, dword [edi + 0x14c]
test al, 0x40
je 0x4b119f
test dword [edi + 0x14c], 0x400
jne 0x4b128d
cmp byte [0x5a2fad], 0
je 0x4591be
mov ecx, dword [ebp - 0x20]
push esi
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push edi
call fcn.0044ca36
test byte [edi + 0x14c], 0x40
jne 0x459187
mov ecx, dword [ebp - 0x20]
push edi
call fcn.0044a2c5
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x18]
push esi
mov dword [edx + 0x60], eax
mov dword [edx + 0x64], ecx
mov ecx, dword [ebp - 0x20]
call fcn.00437471
mov edi, dword [ebp - 0x20]
mov dword [ebp - 4], 7
mov eax, dword [ebp + 8]
test eax, eax
jne 0x4b11c4
mov eax, edi
call fcn.0047ebd3
ret 8
mov ecx, edi
call fcn.00457b4d
jmp 0x459165
cmp byte [0x5a4f22], 0
jne 0x4b10b3
push 0xfca
push dword [ebx + 4]
call fcn.004fd88b
pop ecx
pop ecx
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x4b10c7
xor dl, dl
mov ecx, esi
call fcn.0044a8b3
mov dword [ebp - 4], 3
mov eax, dword [ebp + 8]
test eax, eax
je 0x4b1198
cmp dword [0x5a4ed0], 0
jne 0x4b12a7
mov ecx, dword [0x5a2ec0]
mov edx, eax
and edx, 0xfffffff
shr eax, 0x1c
mov esi, dword [ecx + edx*4]
mov ecx, dword [esi + 0x14]
bts ecx, eax
test byte [esi + 0x18], 0x12
mov dword [esi + 0x14], ecx
jne 0x4b115f
cmp ecx, 0xffff
jne 0x4b1198
mov eax, dword [0x5a3d7c]
lea ecx, [esi + 4]
mov edx, dword [0x5a3d68]
mov dword [ecx], 0x5a3d78
inc edx
mov dword [ecx + 4], eax
mov dword [eax], ecx
mov dword [0x5a3d7c], ecx
test byte [esi + 0x18], 4
mov dword [0x5a3d68], edx
mov byte [esi + 0x19], 2
jne 0x4b1150
mov eax, dword [esi + 0x2c]
and dword [eax + 0x14], 0xffffffef
and dword [esi + 0x2c], 0
cmp edx, dword [0x5a3d6c]
jne 0x4b1198
call fcn.004575aa
jmp 0x4b1198
mov eax, dword [0x5a3d70]
lea ecx, [esi + 4]
mov dword [ecx], eax
mov dword [ecx + 4], 0x5a3d70
mov dword [0x5a3d70], ecx
mov dword [eax + 4], ecx
mov ecx, esi
test byte [esi + 0x18], 4
je 0x4b1188
call fcn.00457617
jmp 0x4b118d
call fcn.004d373d
mov ecx, esi
mov byte [esi + 0x19], 3
call fcn.00451257
xor eax, eax
jmp 0x4591b6
test eax, 0x200
je 0x4b1255
mov eax, dword [ebp - 0x20]
or word [eax + 0xcc], 0x40
mov edi, dword [ebp - 0x20]
mov dword [ebp - 4], 5
jmp 0x4591a9
cmp dword [0x5a4ed0], 0
jne 0x4b12a7
mov ecx, dword [0x5a2ec0]
mov edx, eax
and edx, 0xfffffff
shr eax, 0x1c
mov esi, dword [ecx + edx*4]
mov ecx, dword [esi + 0x14]
bts ecx, eax
test byte [esi + 0x18], 0x12
mov dword [esi + 0x14], ecx
jne 0x4b12ac
cmp ecx, 0xffff
jne 0x4591b4
mov eax, dword [0x5a3d7c]
lea ecx, [esi + 4]
mov edx, dword [0x5a3d68]
mov dword [ecx], 0x5a3d78
inc edx
mov dword [ecx + 4], eax
mov dword [eax], ecx
mov dword [0x5a3d7c], ecx
test byte [esi + 0x18], 4
mov byte [esi + 0x19], 2
mov dword [0x5a3d68], edx
jne 0x4b123f
mov eax, dword [esi + 0x2c]
and dword [eax + 0x14], 0xffffffef
and dword [esi + 0x2c], 0
cmp edx, dword [0x5a3d6c]
jne 0x4591b4
call fcn.004575aa
jmp 0x4591b4
push 0x1793
push dword [ebp - 0x20]
call fcn.0042fff6
mov eax, dword [ebp - 0x2c]
pop ecx
pop ecx
push eax
mov edx, dword [eax]
call dword [edx + 8]
xor dl, dl
mov cl, 1
call fcn.00457243
push esi
push esi
push esi
push esi
mov edx, 0x404f70
xor cl, cl
call fcn.004708d7
push eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp byte [0x5a30e2], 0
je 0x45915c
push 0x52c
push dword [ebp - 0x20]
call fcn.0052bb8a
call fcn.004d363a
mov eax, dword [0x5a3d70]
lea ecx, [esi + 4]
mov dword [ecx], eax
mov dword [ecx + 4], 0x5a3d70
mov dword [0x5a3d70], ecx
mov dword [eax + 4], ecx
mov ecx, esi
test byte [esi + 0x18], 4
je 0x4b12d5
call fcn.00457617
jmp 0x4b12da
call fcn.004d373d
mov ecx, esi
mov byte [esi + 0x19], 3
call fcn.00451257
jmp 0x4591b4