Function at 0x15b47b0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xdc
push 0x400
push 0x164bb80
push 0
call dword [0x164ac90]
mov dword [0x164a2a4], 0
cmp dword [0x15f1b54], 0
je 0x15b4801
push 0x164bb80
push 0x16293a8
push 0x1647800
call fcn.015c24f5
add esp, 0xc
push 0x1647800
push 0
call fcn.01549920
push 0
push 0
push 3
push 0
push 3
push 0x80000000
push 0x164bb80
call dword [0x164e60c]
mov dword [0x1649090], eax
cmp dword [0x1649090], 0xffffffff
je 0x15b4832
cmp dword [0x164c860], 1
jne 0x15b489f
cmp dword [0x164c860], 0
jne 0x15b4895
cmp dword [0x15f1b54], 0
je 0x15b4869
push 0x164bb80
push 0x16293f4
push 0x1647800
call fcn.015c24f5
add esp, 0xc
push 0x1647800
push 3
call fcn.01549920
jmp 0x15b4895
cmp dword [0x15f1b54], 0
je 0x15b4895
push 0x164bb80
push 0x1629480
push 0x1647800
call fcn.015c24f5
add esp, 0xc
push 0x1647800
push 3
call fcn.01549920
mov dword [0x164c860], 1
mov dword [0x16466c8], 0
mov eax, dword [0x164a1ae]
and eax, 0x40000
test eax, eax
je 0x15b494a
call fcn.015c17a0
cmp eax, 1
jne 0x15b4935
lea ecx, [ebp - 4]
push ecx
push 0x162950c
call fcn.015c1770
push eax
call fcn.015c1730
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x15b491e
cmp dword [0x15f1b54], 0
je 0x15b48f7
push 0x1629510
push 0
call fcn.01549920
mov edx, dword [ebp - 4]
and edx, 0xffff
push edx
mov eax, dword [ebp - 8]
push eax
push 0x15f2e08
call fcn.015c21c0
add esp, 0xc
mov dword [0x16466c8], 1
jmp 0x15b4933
cmp dword [0x15f1b54], 0
je 0x15b4933
push 0x1629588
push 0x20
call fcn.01549920
jmp 0x15b494a
cmp dword [0x15f1b54], 0
je 0x15b494a
push 0x1629610
push 0x20
call fcn.01549920
push 0x15f2e08
call fcn.015c1b00
cmp dword [0x164c860], 1
je 0x15b496a
cmp dword [0x1645da4], 1
jne 0x15b49fb
push 0x84
push 0x15f2e08
push 0x164a160
call fcn.015c21c0
add esp, 0xc
cmp dword [0x164c860], 1
jne 0x15b49d6
cmp dword [0x15f1b54], 0
je 0x15b49a1
push 0x1629698
push 0
call fcn.01549920
jmp 0x15b49d6
cmp dword [0x1645da4], 1
jne 0x15b49d6
cmp dword [0x15f1b54], 0
je 0x15b49c1
push 0x1629700
push 0
call fcn.01549920
jmp 0x15b49d6
cmp dword [0x15f1b54], 0
je 0x15b49d6
push 0x1629758
push 0x20
call fcn.01549920
push 4
call fcn.015c2631
add esp, 4
mov dword [0x164f7f0], eax
xor ecx, ecx
mov cx, word [0x164a1ac]
mov edx, dword [0x164f7f0]
mov dword [edx], ecx
jmp 0x15b4f2f
push 0
mov eax, dword [0x1649090]
push eax
call dword [0x164d3c4]
mov dword [0x1648f90], eax
push 4
call fcn.015c2631
add esp, 4
mov dword [0x164f7f0], eax
mov ecx, dword [0x164f7f0]
mov edx, dword [0x1648f90]
mov dword [ecx], edx
push 2
push 0
push 0xfffffffffffffffc
mov eax, dword [0x1649090]
push eax
call dword [0x164c454]
push 0
push 0x1645e64
push 4
push 0x164a2a4
mov ecx, dword [0x1649090]
push ecx
call dword [0x164b31c]
mov edx, dword [0x1648f90]
sub edx, 0x84
cmp dword [0x164a2a4], edx
jb 0x15b4a9d
cmp dword [0x15f1b54], 0
je 0x15b4a81
push 0x16297b0
push 0x20
call fcn.01549920
cmp dword [0x15f1b54], 0
je 0x15b4a96
push 0x16457fc
push 4
call fcn.01549920
push 0
call fcn.015c20de
push 0
push 0
mov eax, dword [0x164a2a4]
push eax
mov ecx, dword [0x1649090]
push ecx
call dword [0x164c454]
push 0
push 0x1645e64
push 0x84
push 0x164a160
mov edx, dword [0x1649090]
push edx
call dword [0x164b31c]
push 4
push 0x1629828
push 0x164b360
call fcn.015c21c0
add esp, 0xc
mov dword [0x1646060], 2
jmp 0x15b4aff
mov eax, dword [0x1646060]
sub eax, 1
mov dword [0x1646060], eax
cmp dword [0x1646060], 0
jl 0x15b4b2e
mov ecx, dword [0x1646060]
mov edx, dword [0x1646060]
mov al, byte [ecx + 0x164b360]
xor al, byte [edx + 0x164b361]
mov ecx, dword [0x1646060]
mov byte [ecx + 0x164b360], al
jmp 0x15b4af2
push 4
push 0x164b360
push 0x164af00
call fcn.015c21c0
add esp, 0xc
mov byte [0x164af04], 0
push 4
push 0x164af00
push 0x164a160
call fcn.015c2a70
add esp, 0xc
test eax, eax
je 0x15b4f2f
cmp dword [0x15f1b54], 0
je 0x15b4b7a
push 0x1629830
push 0
call fcn.01549920
push 4
push 0x1629898
push 0x164a160
call fcn.015c2a70
add esp, 0xc
test eax, eax
je 0x15b4df0
push 4
push 0x16298a0
push 0x164a160
call fcn.015c2a70
add esp, 0xc
test eax, eax
je 0x15b4df0
push 4
push 0x16298a8
push 0x164a160
call fcn.015c2a70
add esp, 0xc
test eax, eax
je 0x15b4df0
push 2
push 0
push 0xfffffffffffffffc
mov edx, dword [0x1649090]
push edx
call dword [0x164c454]
push 0
push 0x1645e64
push 4
push 0x1649088
mov eax, dword [0x1649090]
push eax
call dword [0x164b31c]
mov ecx, dword [0x1648f90]
sub ecx, dword [0x1649088]
sub ecx, 8
mov dword [0x164a2a4], ecx
push 2
push 0
mov eax, dword [0x1649088]
imul eax, eax, 0xffffffff
sub eax, 8
push eax
mov ecx, dword [0x1649090]
push ecx
call dword [0x164c454]
push 0
push 0x1645e64
push 0x84
push 0x164a160
mov edx, dword [0x1649090]
push edx
call dword [0x164b31c]
push 3
push 0x16298b0
push 0x164a160
call fcn.015c2a70
add esp, 0xc
test eax, eax
je 0x15b4cac
push 3
push 0x16298b4
push 0x164a160
call fcn.015c2a70
add esp, 0xc
test eax, eax
je 0x15b4cac
cmp dword [0x15f1b54], 0
je 0x15b4c90
push 0x16298b8
push 0x20
call fcn.01549920
cmp dword [0x15f1b54], 0
je 0x15b4ca5
push 0x1645800
push 4
call fcn.01549920
push 0
call fcn.015c20de
cmp dword [0x15f1b54], 0
je 0x15b4cc1
push 0x1629940
push 1
call fcn.01549920
push 0
push 0
mov eax, dword [0x164a2a4]
sub eax, 4
push eax
mov ecx, dword [0x1649090]
push ecx
call dword [0x164c454]
push 0
push 0x1645e64
push 4
push 0x164a2a4
mov edx, dword [0x1649090]
push edx
call dword [0x164b31c]
push 0
push 0
mov eax, dword [0x164a2a4]
push eax
mov ecx, dword [0x1649090]
push ecx
call dword [0x164c454]
push 0
push 0x1645e64
push 0x84
push 0x164a160
mov edx, dword [0x1649090]
push edx
call dword [0x164b31c]
push 4
push 0x1629998
push 0x164b360
call fcn.015c21c0
add esp, 0xc
mov dword [0x1646060], 2
jmp 0x15b4d58
mov eax, dword [0x1646060]
sub eax, 1
mov dword [0x1646060], eax
cmp dword [0x1646060], 0
jl 0x15b4d87
mov ecx, dword [0x1646060]
mov edx, dword [0x1646060]
mov al, byte [ecx + 0x164b360]
xor al, byte [edx + 0x164b361]
mov ecx, dword [0x1646060]
mov byte [ecx + 0x164b360], al
jmp 0x15b4d4b
push 4
push 0x164b360
push 0x164af00
call fcn.015c21c0
add esp, 0xc
mov byte [0x164af04], 0
push 4
push 0x164af00
push 0x164a160
call fcn.015c2a70
add esp, 0xc
test eax, eax
je 0x15b4deb
cmp dword [0x15f1b54], 0
je 0x15b4dcf
push 0x16299a0
push 0x20
call fcn.01549920
cmp dword [0x15f1b54], 0
je 0x15b4de4
push 0x1645804
push 4
call fcn.01549920
push 0
call fcn.015c20de
jmp 0x15b4f2f
cmp dword [0x15f1b54], 0
je 0x15b4e05
push 0x1629a28
push 3
call fcn.01549920
push 0
push 0
mov edx, dword [0x164a2a4]
sub edx, 4
push edx
mov eax, dword [0x1649090]
push eax
call dword [0x164c454]
push 0
push 0x1645e64
push 4
push 0x164a2a4
mov ecx, dword [0x1649090]
push ecx
call dword [0x164b31c]
push 0
push 0
mov edx, dword [0x164a2a4]
push edx
mov eax, dword [0x1649090]
push eax
call dword [0x164c454]
push 0
push 0x1645e64
push 0x84
push 0x164a160
mov ecx, dword [0x1649090]
push ecx
call dword [0x164b31c]
push 4
push 0x1629a70
push 0x164b360
call fcn.015c21c0
add esp, 0xc
mov dword [0x1646060], 2
jmp 0x15b4e9e
mov edx, dword [0x1646060]
sub edx, 1
mov dword [0x1646060], edx
cmp dword [0x1646060], 0
jl 0x15b4ecb
mov eax, dword [0x1646060]
mov ecx, dword [0x1646060]
mov dl, byte [eax + 0x164b360]
xor dl, byte [ecx + 0x164b361]
mov eax, dword [0x1646060]
mov byte [eax + 0x164b360], dl
jmp 0x15b4e8f
push 4
push 0x164b360
push 0x164af00
call fcn.015c21c0
add esp, 0xc
mov byte [0x164af04], 0
push 4
push 0x164af00
push 0x164a160
call fcn.015c2a70
add esp, 0xc
test eax, eax
je 0x15b4f2f
cmp dword [0x15f1b54], 0
je 0x15b4f13
push 0x1629a78
push 0x20
call fcn.01549920
cmp dword [0x15f1b54], 0
je 0x15b4f28
push 0x1645808
push 4
call fcn.01549920
push 0
call fcn.015c20de
cmp dword [0x15f1b54], 0
je 0x15b4fdc
xor ecx, ecx
mov cx, word [0x164a184]
push ecx
xor edx, edx
mov dx, word [0x164a182]
push edx
xor eax, eax
mov ax, word [0x164a180]
push eax
xor ecx, ecx
mov cx, word [0x164a17e]
push ecx
xor edx, edx
mov dx, word [0x164a17c]
push edx
xor eax, eax
mov ax, word [0x164a17a]
push eax
xor ecx, ecx
mov cx, word [0x164a178]
push ecx
xor edx, edx
mov dx, word [0x164a176]
push edx
xor eax, eax
mov ax, word [0x164a174]
push eax
mov ecx, dword [0x164a188]
push ecx
push 4
push 0x164a170
push 0x164f660
call fcn.015aefc0
push eax
push 8
push 0x164a168
push 0x16490a0
call fcn.015aefc0
push eax
push 0x1629b00
push 0x1647800
call fcn.015c24f5
add esp, 0x38
push 0x1647800
push 1
call fcn.01549920
cmp dword [0x15f1b54], 0
je 0x15b5437
mov edx, dword [0x164a1ae]
and edx, 0x1000000
test edx, edx
je 0x15b5002
mov dword [ebp - 0x7c], 0x1629c24
jmp 0x15b5009
mov dword [ebp - 0x7c], 0x1629c2c
mov eax, dword [0x164a1ae]
and eax, 0x800000
test eax, eax
je 0x15b5020
mov dword [ebp - 0x80], 0x1629c34
jmp 0x15b5027
mov dword [ebp - 0x80], 0x1629c3c
mov ecx, dword [0x164a1ae]
and ecx, 0x400000
test ecx, ecx
je 0x15b5043
mov dword [ebp - 0x84], 0x1629c44
jmp 0x15b504d
mov dword [ebp - 0x84], 0x1629c4c
mov edx, dword [0x164a1ae]
and edx, 0x200000
test edx, edx
je 0x15b5069
mov dword [ebp - 0x88], 0x1629c54
jmp 0x15b5073
mov dword [ebp - 0x88], 0x1629c5c
mov eax, dword [0x164a1ae]
and eax, 0x100000
test eax, eax
je 0x15b508d
mov dword [ebp - 0x8c], 0x1629c64
jmp 0x15b5097
mov dword [ebp - 0x8c], 0x1629c6c
mov ecx, dword [0x164a1ae]
and ecx, 0x80000
test ecx, ecx
je 0x15b50b3
mov dword [ebp - 0x90], 0x1629c74
jmp 0x15b50bd
mov dword [ebp - 0x90], 0x1629c7c
mov edx, dword [0x164a1ae]
and edx, 0x40000
test edx, edx
je 0x15b50d9
mov dword [ebp - 0x94], 0x1629c84
jmp 0x15b50e3
mov dword [ebp - 0x94], 0x1629c8c
mov eax, dword [0x164a1ae]
and eax, 0x20000
test eax, eax
je 0x15b50fd
mov dword [ebp - 0x98], 0x1629c94
jmp 0x15b5107
mov dword [ebp - 0x98], 0x1629c9c
mov ecx, dword [0x164a1ae]
and ecx, 0x10000
test ecx, ecx
je 0x15b5123
mov dword [ebp - 0x9c], 0x1629ca4
jmp 0x15b512d
mov dword [ebp - 0x9c], 0x1629cac
mov edx, dword [0x164a1ae]
and edx, 0x8000
test edx, edx
je 0x15b5149
mov dword [ebp - 0xa0], 0x1629cb4
jmp 0x15b5153
mov dword [ebp - 0xa0], 0x1629cbc
mov eax, dword [0x164a1ae]
and eax, 0x4000
test eax, eax
je 0x15b516d
mov dword [ebp - 0xa4], 0x1629cc4
jmp 0x15b5177
mov dword [ebp - 0xa4], 0x1629ccc
mov ecx, dword [0x164a1ae]
and ecx, 0x2000
test ecx, ecx
je 0x15b5193
mov dword [ebp - 0xa8], 0x1629cd4
jmp 0x15b519d
mov dword [ebp - 0xa8], 0x1629cdc
mov edx, dword [0x164a1ae]
and edx, 0x1000
test edx, edx
je 0x15b51b9
mov dword [ebp - 0xac], 0x1629ce4
jmp 0x15b51c3
mov dword [ebp - 0xac], 0x1629cec
mov eax, dword [0x164a1ae]
and eax, 0x800
test eax, eax
je 0x15b51dd
mov dword [ebp - 0xb0], 0x1629cf4
jmp 0x15b51e7
mov dword [ebp - 0xb0], 0x1629cfc
mov ecx, dword [0x164a1ae]
and ecx, 0x400
test ecx, ecx
je 0x15b5203
mov dword [ebp - 0xb4], 0x1629d04
jmp 0x15b520d
mov dword [ebp - 0xb4], 0x1629d0c
mov edx, dword [0x164a1ae]
and edx, 0x200
test edx, edx
je 0x15b5229
mov dword [ebp - 0xb8], 0x1629d14
jmp 0x15b5233
mov dword [ebp - 0xb8], 0x1629d1c
mov eax, dword [0x164a1ae]
and eax, 0x100
test eax, eax
je 0x15b524d
mov dword [ebp - 0xbc], 0x1629d24
jmp 0x15b5257
mov dword [ebp - 0xbc], 0x1629d2c
mov ecx, dword [0x164a1ae]
and ecx, 0x80
test ecx, ecx
je 0x15b5273
mov dword [ebp - 0xc0], 0x1629d34
jmp 0x15b527d
mov dword [ebp - 0xc0], 0x1629d3c
mov edx, dword [0x164a1ae]
and edx, 0x40
test edx, edx
je 0x15b5296
mov dword [ebp - 0xc4], 0x1629d44
jmp 0x15b52a0
mov dword [ebp - 0xc4], 0x1629d4c
mov eax, dword [0x164a1ae]
and eax, 0x20
test eax, eax
je 0x15b52b8
mov dword [ebp - 0xc8], 0x1629d54
jmp 0x15b52c2
mov dword [ebp - 0xc8], 0x1629d5c
mov ecx, dword [0x164a1ae]
and ecx, 0x10
test ecx, ecx
je 0x15b52db
mov dword [ebp - 0xcc], 0x1629d64
jmp 0x15b52e5
mov dword [ebp - 0xcc], 0x1629d6c
mov edx, dword [0x164a1ae]
and edx, 8
test edx, edx
je 0x15b52fe
mov dword [ebp - 0xd0], 0x1629d74
jmp 0x15b5308
mov dword [ebp - 0xd0], 0x1629d7c
mov eax, dword [0x164a1ae]
and eax, 4
test eax, eax
je 0x15b5320
mov dword [ebp - 0xd4], 0x1629d84
jmp 0x15b532a
mov dword [ebp - 0xd4], 0x1629d8c
mov ecx, dword [0x164a1ae]
and ecx, 2
test ecx, ecx
je 0x15b5343
mov dword [ebp - 0xd8], 0x1629d94
jmp 0x15b534d
mov dword [ebp - 0xd8], 0x1629d9c
mov edx, dword [0x164a1ae]
and edx, 1
test edx, edx
je 0x15b5366
mov dword [ebp - 0xdc], 0x1629da4
jmp 0x15b5370
mov dword [ebp - 0xdc], 0x1629dac
mov eax, dword [ebp - 0x7c]
push eax
mov ecx, dword [ebp - 0x80]
push ecx
mov edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x8c]
push ecx
mov edx, dword [ebp - 0x90]
push edx
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x98]
push ecx
mov edx, dword [ebp - 0x9c]
push edx
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp - 0xa4]
push ecx
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0xdc]
push eax
push 0x1629db4
push 0x1647800
call fcn.015c24f5
add esp, 0x6c
push 0x1647800
push 0
call fcn.01549920
mov ecx, dword [0x164a1b6]
mov dword [ebp - 0x1c], ecx
mov dword [0x164a1b6], 0
lea edx, [ebp - 0x74]
push edx
call fcn.015ada20
push 0x84
push 0x164a160
lea eax, [ebp - 0x74]
push eax
call fcn.015ada70
lea ecx, [ebp - 0x74]
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.015adba0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x78]
xor ecx, dword [ebp - 0x14]
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x78]
xor edx, dword [ebp - 0x10]
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x78]
xor eax, dword [ebp - 0xc]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x78]
shr ecx, 0x18
and ecx, 0xff
mov edx, dword [ebp - 0x78]
shr edx, 0x10
and edx, 0xff
shl edx, 8
add ecx, edx
mov eax, dword [ebp - 0x78]
shr eax, 8
and eax, 0xff
shl eax, 0x10
add ecx, eax
mov edx, dword [ebp - 0x78]
and edx, 0xff
shl edx, 0x18
add ecx, edx
mov dword [ebp - 0x78], ecx
mov eax, dword [ebp - 0x1c]
mov dword [0x164a1b6], eax
mov ecx, dword [ebp - 0x78]
cmp ecx, dword [ebp - 0x1c]
jne 0x15b550e
cmp dword [0x15f1b54], 0
je 0x15b54f9
push 0x162a270
push 0
call fcn.01549920
jmp 0x15b550e
cmp dword [0x15f1b54], 0
je 0x15b550e
push 0x162a2b8
push 0
call fcn.01549920
mov edx, dword [ebp - 0x78]
cmp edx, dword [ebp - 0x1c]
jne 0x15b5523
mov eax, dword [0x164a1ae]
cmp eax, dword [0x15d1ef8]
je 0x15b553f
cmp dword [0x15f1b54], 0
je 0x15b5538
push 0x162a310
push 4
call fcn.01549920
push 0
call fcn.015c20de
mov esp, ebp
pop ebp
ret