Function at 0x15b5550
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x820
push ebx
push esi
push edi
cmp dword [0x16455a4], 0
je 0x15b5584
push 0x164c460
push 0x400
call dword [0x164f648]
push 0
push 0x164c460
call dword [0x1652444]
jmp 0x15b55a6
push 0x400
push 0x164c460
call dword [0x164c878]
push 0x162a318
push 0x164c460
call fcn.015c2d90
add esp, 8
cmp dword [0x15f1b54], 0
je 0x15b55d8
push 0x164c460
mov eax, dword [0x164a164]
push eax
push 0x162a31c
push 0x1647800
call fcn.015c24f5
add esp, 0x10
push 0x1647800
push 0
call fcn.01549920
cmp dword [0x164c860], 1
je 0x15b55ee
cmp dword [0x1645da4], 1
jne 0x15b5b0b
push 0x1613f28
call fcn.015bfef0
mov dword [ebp - 0x414], eax
push 0x164c460
lea ecx, [ebp - 0x410]
push ecx
call fcn.015c2d80
add esp, 8
mov edx, dword [0x1613f2c]
push edx
lea eax, [ebp - 0x410]
push eax
call fcn.015c2d90
add esp, 8
lea ecx, [ebp - 0x410]
push ecx
mov edx, dword [ebp - 0x414]
push edx
call fcn.015bfec0
mov dword [ebp - 0x10], eax
jmp 0x15b565b
push 2
call fcn.015c2631
add esp, 4
mov dword [0x164d19c], eax
mov eax, dword [0x164d19c]
mov word [eax], 0
push 9
push 0
push 0x1646680
call fcn.015c2570
add esp, 0xc
mov dword [ebp - 8], 0x1613f34
mov ecx, dword [0x1613f30]
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], 0
jmp 0x15b56a7
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 4]
sub eax, 1
cmp dword [ebp - 0xc], eax
jge 0x15b574c
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
mov al, byte [ecx]
xor al, byte [edx + 1]
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 0xc]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x1646680]
add cl, byte [eax]
mov eax, dword [ebp - 0xc]
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x1646680], cl
mov eax, dword [ebp - 0xc]
add eax, 3
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x1646680]
xor cl, byte [eax]
mov eax, dword [ebp - 0xc]
add eax, 3
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x1646680], cl
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
movzx ax, byte [edx]
mov ecx, dword [0x164d19c]
mov dx, word [ecx]
add dx, ax
mov eax, dword [0x164d19c]
mov word [eax], dx
jmp 0x15b569e
mov ecx, dword [0x15d059c]
xor ecx, dword [ebp - 4]
mov dword [0x15d059c], ecx
mov dword [0x1646000], 0
jmp 0x15b5776
mov edx, dword [0x1646000]
add edx, 1
mov dword [0x1646000], edx
cmp dword [0x1646000], 9
jge 0x15b57a3
mov eax, dword [0x1646000]
mov ecx, dword [0x1646000]
mov dl, byte [eax + 0x15d0598]
add dl, byte [ecx + 0x1646680]
mov eax, dword [0x1646000]
mov byte [eax + 0x15d0598], dl
jmp 0x15b5767
mov ecx, dword [ebp - 0x414]
push ecx
call fcn.015bff40
cmp dword [0x15f1b54], 0
je 0x15b5800
cmp dword [ebp - 0x10], 0
je 0x15b57ca
mov dword [ebp - 0x818], 0x162a36c
jmp 0x15b57d4
mov dword [ebp - 0x818], 0x162a370
mov edx, dword [ebp - 0x818]
push edx
lea eax, [ebp - 0x410]
push eax
push 0x162a378
push 0x1647800
call fcn.015c24f5
add esp, 0x10
push 0x1647800
push 0
call fcn.01549920
push 0x160f148
call fcn.015bfef0
mov dword [ebp - 0x414], eax
push 0x164c460
lea ecx, [ebp - 0x410]
push ecx
call fcn.015c2d80
add esp, 8
mov edx, dword [0x160f14c]
push edx
lea eax, [ebp - 0x410]
push eax
call fcn.015c2d90
add esp, 8
lea ecx, [ebp - 0x410]
push ecx
mov edx, dword [ebp - 0x414]
push edx
call fcn.015bfec0
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], 0x160f154
mov eax, dword [0x160f150]
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], 0
jmp 0x15b5871
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 4]
jge 0x15b58f6
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x1646680]
add cl, byte [eax]
mov eax, dword [ebp - 0xc]
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x1646680], cl
mov eax, dword [ebp - 0xc]
add eax, 4
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x1646680]
xor cl, byte [eax]
mov eax, dword [ebp - 0xc]
add eax, 4
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x1646680], cl
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
movzx ax, byte [edx]
mov ecx, dword [0x164d19c]
mov dx, word [ecx]
add dx, ax
mov eax, dword [0x164d19c]
mov word [eax], dx
jmp 0x15b5868
mov ecx, dword [0x15d059a]
xor ecx, dword [ebp - 4]
mov dword [0x15d059a], ecx
mov dword [0x1646000], 0
jmp 0x15b5920
mov edx, dword [0x1646000]
add edx, 1
mov dword [0x1646000], edx
cmp dword [0x1646000], 9
jge 0x15b594d
mov eax, dword [0x1646000]
mov ecx, dword [0x1646000]
mov dl, byte [eax + 0x15d0598]
xor dl, byte [ecx + 0x1646680]
mov eax, dword [0x1646000]
mov byte [eax + 0x15d0598], dl
jmp 0x15b5911
mov ecx, dword [ebp - 0x414]
push ecx
call fcn.015bff40
cmp dword [0x15f1b54], 0
je 0x15b59aa
cmp dword [ebp - 0x10], 0
je 0x15b5974
mov dword [ebp - 0x81c], 0x162a3d8
jmp 0x15b597e
mov dword [ebp - 0x81c], 0x162a3dc
mov edx, dword [ebp - 0x81c]
push edx
lea eax, [ebp - 0x410]
push eax
push 0x162a3e4
push 0x1647800
call fcn.015c24f5
add esp, 0x10
push 0x1647800
push 0
call fcn.01549920
push 0x1616e58
call fcn.015bfef0
mov dword [ebp - 0x414], eax
push 0x164c460
lea ecx, [ebp - 0x410]
push ecx
call fcn.015c2d80
add esp, 8
mov edx, dword [0x1616e5c]
push edx
lea eax, [ebp - 0x410]
push eax
call fcn.015c2d90
add esp, 8
lea ecx, [ebp - 0x410]
push ecx
mov edx, dword [ebp - 0x414]
push edx
call fcn.015bfec0
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], 0x1616e64
mov eax, dword [0x1616e60]
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], 0
jmp 0x15b5a1b
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 4]
jge 0x15b5aa0
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x1646680]
add cl, byte [eax]
mov eax, dword [ebp - 0xc]
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x1646680], cl
mov eax, dword [ebp - 0xc]
add eax, 5
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x1646680]
xor cl, byte [eax]
mov eax, dword [ebp - 0xc]
add eax, 5
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x1646680], cl
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
movzx ax, byte [edx]
mov ecx, dword [0x164d19c]
mov dx, word [ecx]
add dx, ax
mov eax, dword [0x164d19c]
mov word [eax], dx
jmp 0x15b5a12
mov ecx, dword [ebp - 4]
mov dword [0x1648f90], ecx
mov edx, dword [ebp - 0x414]
push edx
call fcn.015bff40
cmp dword [0x15f1b54], 0
je 0x15b5b06
cmp dword [ebp - 0x10], 0
je 0x15b5ad0
mov dword [ebp - 0x820], 0x162a444
jmp 0x15b5ada
mov dword [ebp - 0x820], 0x162a448
mov eax, dword [ebp - 0x820]
push eax
lea ecx, [ebp - 0x410]
push ecx
push 0x162a450
push 0x1647800
call fcn.015c24f5
add esp, 0x10
push 0x1647800
push 0
call fcn.01549920
jmp 0x15b627a
push 1
push 0
push 0
mov edx, dword [0x1649090]
push edx
call dword [0x164c454]
mov dword [0x164d0d4], eax
mov dword [0x1645ffc], 0
jmp 0x15b5b3c
mov eax, dword [0x1645ffc]
add eax, 1
mov dword [0x1645ffc], eax
mov ecx, dword [0x1645ffc]
cmp ecx, dword [0x164a164]
jge 0x15b626d
push 0
push 0x1645e64
push 0x30
push 0x164c3c0
mov edx, dword [0x1649090]
push edx
call dword [0x164b31c]
push 1
push 0
push 0
mov eax, dword [0x1649090]
push eax
call dword [0x164c454]
mov dword [0x164d0d4], eax
push 0x164c460
push 0x1649c40
call fcn.015c2d80
add esp, 8
push 0x164c3e0
lea ecx, [ebp - 0x814]
push ecx
call fcn.015c2d80
add esp, 8
lea edx, [ebp - 0x814]
push edx
push 0x1649c40
call fcn.015c2d90
add esp, 8
push 0x100
push 0x1649c40
call dword [0x16477e4]
push 0
push 0
push 2
push 0
push 3
push 0xc0000000
push 0x1649c40
call dword [0x164e60c]
mov dword [0x164e614], eax
cmp dword [0x164e614], 0xffffffff
jne 0x15b5c9e
mov dword [0x164a25c], 0
cmp dword [0x15f1b54], 0
je 0x15b5c2c
push 0x1649c40
push 0x162a4b0
push 0x1647800
call fcn.015c24f5
add esp, 0xc
push 0x1647800
push 3
call fcn.01549920
push 0
push 0
push 3
push 0
push 0
push 0x80000000
push 0x1649c40
call dword [0x164e60c]
mov dword [0x164e614], eax
cmp dword [0x164e614], 0xffffffff
jne 0x15b5c9c
cmp dword [0x15f1b54], 0
je 0x15b5c80
push 0x1649c40
push 0x162a4ec
push 0x1647800
call fcn.015c24f5
add esp, 0xc
push 0x1647800
push 0x20
call fcn.01549920
cmp dword [0x15f1b54], 0
je 0x15b5c95
push 0x164580c
push 4
call fcn.01549920
push 0
call fcn.015c20de
jmp 0x15b5ca8
mov dword [0x164a25c], 1
mov eax, dword [0x164c3c4]
push eax
call fcn.015c2631
add esp, 4
mov dword [ebp - 8], eax
cmp dword [0x164a25c], 0
je 0x15b5d24
push 0
push 0
mov ecx, dword [0x164c3c0]
push ecx
mov edx, dword [0x1649090]
push edx
call dword [0x164c454]
push 0
push 0x1645e64
mov eax, dword [0x164c3c4]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [0x1649090]
push edx
call dword [0x164b31c]
push 0
push 0x1645e64
mov eax, dword [0x164c3c4]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [0x164e614]
push edx
call dword [0x164f870]
mov eax, dword [0x164e614]
push eax
call dword [0x1648864]
jmp 0x15b5d8a
push 0
push 0
mov ecx, dword [0x164c3c0]
push ecx
mov edx, dword [0x1649090]
push edx
call dword [0x164c454]
push 0
push 0x1645e64
mov eax, dword [0x164c3c4]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [0x1649090]
push edx
call dword [0x164b31c]
push 0
push 0
push 0
mov eax, dword [0x164e614]
push eax
call dword [0x164c454]
push 0
push 0x1645e64
mov ecx, dword [0x164c3c4]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [0x164e614]
push eax
call dword [0x164b31c]
mov ecx, dword [0x164e614]
push ecx
call dword [0x1645d14]
push 0xb
push 0x162a548
push 0x164b360
call fcn.015c21c0
add esp, 0xc
mov dword [0x1646060], 9
jmp 0x15b5dc6
mov edx, dword [0x1646060]
sub edx, 1
mov dword [0x1646060], edx
cmp dword [0x1646060], 0
jl 0x15b5df3
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 0x15b5db7
push 0xb
push 0x164b360
push 0x164af00
call fcn.015c21c0
add esp, 0xc
mov byte [0x164af0b], 0
jmp 0x15b5e2f
push 0x164af00
push 0x164c3e0
call fcn.015c3070
add esp, 8
test eax, eax
jne 0x15b5f87
push 2
call fcn.015c2631
add esp, 4
mov dword [0x164d19c], eax
mov ecx, dword [0x164d19c]
mov word [ecx], 0
push 9
push 0
push 0x1646680
call fcn.015c2570
add esp, 0xc
mov dword [ebp - 0xc], 0
jmp 0x15b5e86
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
mov eax, dword [0x164c3c4]
sub eax, 1
cmp dword [ebp - 0xc], eax
jge 0x15b5f2d
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
mov al, byte [ecx]
xor al, byte [edx + 1]
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 0xc]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x1646680]
add cl, byte [eax]
mov eax, dword [ebp - 0xc]
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x1646680], cl
mov eax, dword [ebp - 0xc]
add eax, 3
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x1646680]
xor cl, byte [eax]
mov eax, dword [ebp - 0xc]
add eax, 3
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x1646680], cl
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
movzx ax, byte [edx]
mov ecx, dword [0x164d19c]
mov dx, word [ecx]
add dx, ax
mov eax, dword [0x164d19c]
mov word [eax], dx
jmp 0x15b5e7d
mov ecx, dword [0x15d059c]
xor ecx, dword [0x164c3c4]
mov dword [0x15d059c], ecx
mov dword [0x1646000], 0
jmp 0x15b5f5a
mov edx, dword [0x1646000]
add edx, 1
mov dword [0x1646000], edx
cmp dword [0x1646000], 9
jge 0x15b5f87
mov eax, dword [0x1646000]
mov ecx, dword [0x1646000]
mov dl, byte [eax + 0x15d0598]
add dl, byte [ecx + 0x1646680]
mov eax, dword [0x1646000]
mov byte [eax + 0x15d0598], dl
jmp 0x15b5f4b
push 0xb
push 0x162a554
push 0x164b360
call fcn.015c21c0
add esp, 0xc
mov dword [0x1646060], 9
jmp 0x15b5fb6
mov ecx, dword [0x1646060]
sub ecx, 1
mov dword [0x1646060], ecx
cmp dword [0x1646060], 0
jl 0x15b5fe4
mov edx, dword [0x1646060]
mov eax, dword [0x1646060]
mov cl, byte [edx + 0x164b360]
xor cl, byte [eax + 0x164b361]
mov edx, dword [0x1646060]
mov byte [edx + 0x164b360], cl
jmp 0x15b5fa7
push 0xb
push 0x164b360
push 0x164af00
call fcn.015c21c0
add esp, 0xc
mov byte [0x164af0b], 0
push 0x164af00
push 0x164c3e0
call fcn.015c3070
add esp, 8
test eax, eax
jne 0x15b610d
mov dword [ebp - 0xc], 0
jmp 0x15b602b
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [0x164c3c4]
jge 0x15b60b3
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x1646680]
add cl, byte [eax]
mov eax, dword [ebp - 0xc]
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x1646680], cl
mov eax, dword [ebp - 0xc]
add eax, 4
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x1646680]
xor cl, byte [eax]
mov eax, dword [ebp - 0xc]
add eax, 4
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x1646680], cl
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
movzx ax, byte [edx]
mov ecx, dword [0x164d19c]
mov dx, word [ecx]
add dx, ax
mov eax, dword [0x164d19c]
mov word [eax], dx
jmp 0x15b6022
mov ecx, dword [0x15d059a]
xor ecx, dword [0x164c3c4]
mov dword [0x15d059a], ecx
mov dword [0x1646000], 0
jmp 0x15b60e0
mov edx, dword [0x1646000]
add edx, 1
mov dword [0x1646000], edx
cmp dword [0x1646000], 9
jge 0x15b610d
mov eax, dword [0x1646000]
mov ecx, dword [0x1646000]
mov dl, byte [eax + 0x15d0598]
xor dl, byte [ecx + 0x1646680]
mov eax, dword [0x1646000]
mov byte [eax + 0x15d0598], dl
jmp 0x15b60d1
push 0xb
push 0x162a560
push 0x164b360
call fcn.015c21c0
add esp, 0xc
mov dword [0x1646060], 9
jmp 0x15b613c
mov ecx, dword [0x1646060]
sub ecx, 1
mov dword [0x1646060], ecx
cmp dword [0x1646060], 0
jl 0x15b616a
mov edx, dword [0x1646060]
mov eax, dword [0x1646060]
mov cl, byte [edx + 0x164b360]
xor cl, byte [eax + 0x164b361]
mov edx, dword [0x1646060]
mov byte [edx + 0x164b360], cl
jmp 0x15b612d
push 0xb
push 0x164b360
push 0x164af00
call fcn.015c21c0
add esp, 0xc
mov byte [0x164af0b], 0
push 0x164af00
push 0x164c3e0
call fcn.015c3070
add esp, 8
test eax, eax
jne 0x15b6245
mov dword [ebp - 0xc], 0
jmp 0x15b61b1
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [0x164c3c4]
jge 0x15b6239
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x1646680]
add cl, byte [eax]
mov eax, dword [ebp - 0xc]
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x1646680], cl
mov eax, dword [ebp - 0xc]
add eax, 5
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x1646680]
xor cl, byte [eax]
mov eax, dword [ebp - 0xc]
add eax, 5
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x1646680], cl
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
movzx ax, byte [edx]
mov ecx, dword [0x164d19c]
mov dx, word [ecx]
add dx, ax
mov eax, dword [0x164d19c]
mov word [eax], dx
jmp 0x15b61a8
mov ecx, dword [0x164c3c4]
mov dword [0x1648f90], ecx
mov edx, dword [ebp - 8]
push edx
call fcn.015c25c8
add esp, 4
push 0
push 0
mov eax, dword [0x164d0d4]
push eax
mov ecx, dword [0x1649090]
push ecx
call dword [0x164c454]
jmp 0x15b5b2f
mov edx, dword [0x1649090]
push edx
call dword [0x1645d14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret