Function at 0x614572
Capabilities:
Terminate process

Disassembly:
dec ebp
cld
call fcn.00611632
cmp esi, dword [eax + 0x10]
ja 0x614545
mov edx, dword [ebp - 4]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
lea esi, [eax + ecx*4]
mov ecx, dword [ebp - 4]
call fcn.00611632
cmp esi, dword [eax + 0xc]
jae 0x61454b
call dword [0x1000e120]
xor edx, edx
jne 0x61454b
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
lea eax, [ecx + edx*4]
mov ecx, dword [ebp - 4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 4]
pop esi
mov esp, ebp
pop ebp
cmp dword [ebp - 0x1370], 0
je 0x614c33
push es
add byte [eax], al
mov dword [ebp - 0x138c], 0x4d
mov dword [ebp - 0x1384], 0x78
mov edx, dword [ebp - 0x138c]
cmp edx, dword [ebp - 0x1384]
jle 0x6146d2
push 0xffffffffffffffff
push 0x4fa288
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
push ebx
push esi
push edi
mov eax, dword [0x5991d4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
and eax, 0xff
movzx ecx, al
mov dword [ebp - 0x14], ecx
movzx eax, word [ebp + 8]
sar eax, 8
and eax, 0xff
movzx ecx, al
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp + 8]
shr eax, 0x10
and eax, 0xff
movzx ecx, al
mov dword [ebp - 0x1c], ecx
in al, 0x51
fld dword [0x5071e0]
fstp dword [esp]
lea ecx, [ebp - 0x38]
call fcn.00614928
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x14]
push edx
lea ecx, [ebp - 0x38]
call fcn.00613b08
lea ecx, [ebp - 0x50]
call fcn.00613ce8
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x14]
push edx
lea ecx, [ebp - 0x50]
call fcn.00613b08
lea ecx, [ebp - 0x64]
call 0x614cc8
mov byte [ebp - 4], 2
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x64]
call 0x614d18
mov dword [ebp - 0x68], 0
jmp 0x61466e
mov eax, dword [ebp - 0x68]
add eax, 1
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 3
jge 0x614682
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x64]
call 0x614d18
jmp 0x614665
lea eax, [ebp - 0x64]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.00613d38
mov dword [ebp - 0xac], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x64]
call 0x614d88
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00613d18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.00613d18
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
mov dword [ebp - 0x137c], 1
mov dword [ebp - 0x1380], 0x9e
mov eax, dword [ebp - 0x137c]
cmp eax, dword [ebp - 0x1380]
jle 0x61470f
push ecx
push ecx
lea eax, [ebp - 8]
push eax
mov dword [ebp - 8], 8
mov dword [ebp - 4], 4
call dword [0x4ad114]
leave
mov dword [ebp - 0x1378], 0x43
mov dword [ebp - 0x1398], 0x78
mov ecx, dword [ebp - 0x1378]
cmp ecx, dword [ebp - 0x1398]
jle 0x614768
push ecx
mov byte [ebp - 1], 0
jmp 0x614741
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx]
test edx, edx
je 0x614762
movzx eax, byte [ebp - 1]
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx]
xor eax, edx
mov al, byte [eax + 0x10008008]
mov byte [ebp - 1], al
jmp 0x614738
mov al, byte [ebp - 1]
mov esp, ebp
pop ebp
mov dword [ebp - 0x1388], 0x3b
mov dword [ebp - 0x1374], 0xa5
mov edx, dword [ebp - 0x1388]
cmp edx, dword [ebp - 0x1374]
jle 0x614bdf
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10011e13
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x1001728c]
xor eax, esp
mov dword [esp + 0xa8], eax
push ebx
push esi
push edi
mov eax, dword [0x1001728c]
xor eax, esp
push eax
lea eax, [esp + 0xc0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
mov edi, ecx
mov byte [esp + 0x17], bl
cmp eax, ebx
je 0x614bb8
mov ecx, dword [edi + 0x24]
cmp ecx, ebx
je 0x614bb8
mov edx, dword [ecx]
push ebx
push 2
lea esi, [edi + 0x28]
push esi
push eax
mov eax, dword [edx + 0x6c]
call eax
test eax, eax
je 0x614812
push 0x1a
lea esi, [edi + 0x2c]
mov eax, 0x10014bbc
call fcn.00615a5b
xor al, al
jmp 0x614bbc
mov ecx, dword [edi + 0x24]
mov byte [edi + 0x20], 1
mov edx, dword [ecx]
mov eax, dword [edx + 0x1b0]
push 0x10014ba8
call eax
mov ecx, dword [edi + 0x24]
mov edx, dword [ecx]
mov eax, dword [esi]
mov edx, dword [edx + 0x1b4]
push 0x24
push 0x10014bf4
push eax
call edx
test eax, eax
je 0x614859
push 0x2a
lea esi, [edi + 0x2c]
mov eax, 0x10014c20
call fcn.00615a5b
xor al, al
jmp 0x614bbc
mov ecx, dword [edi + 0x24]
push ebx
lea edx, [esp + 0x24]
push edx
mov edx, dword [esi]
push 0xffffffffffffffff
mov dword [esp + 0x2c], ebx
mov dword [ebp - 0x1228], 0x25
mov dword [ebp - 0x1290], 0xb6
mov ecx, dword [ebp - 0x1228]
cmp ecx, dword [ebp - 0x1290]
jle 0x614c73
mov eax, dword [ebp + 8]
push esi
mov esi, ecx
test eax, eax
je 0x614c62
mov eax, dword [eax + 4]
push eax
call dword [0x10033094]
push eax
mov ecx, esi
call fcn.0061e4b0
pop esi
pop ebp
mov dword [ebp - 0x1224], 0x1a
mov dword [ebp - 0x10e4], 0xb5
mov edx, dword [ebp - 0x1224]
cmp edx, dword [ebp - 0x10e4]
jle 0x6150aa
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5853b0d1
mov eax, dword fs:[0]
push eax
sub esp, 0x158
mov eax, dword [0x58547220]
xor eax, esp
mov dword [esp + 0x150], eax
push ebx
push esi
push edi
mov eax, dword [0x58547220]
xor eax, esp
push eax
lea eax, [esp + 0x168]
mov dword fs:[0], eax
mov ebx, ecx
mov esi, edx
push 0x5854a10c
lea ecx, [esp + 0x30]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], esi
call dword [0x5853c204]
cmp dword [esp + 0x44], 0x10
mov eax, dword [esp + 0x30]
mov edi, 0x5853c6e4
mov dword [esp + 0x10], edi
jae 0x614d09
lea eax, [esp + 0x30]
push eax
push 0
push 0
call dword [0x5853c1dc]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x14], eax
call dword [0x5853c1f8]
mov dword [esp + 0x170], 0
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x10]
mov dword [esp + 0x28], eax
and al, 0x28
mov ecx, eax
mov eax, dword [edx + 4]
mov dword [esp + 0x24], 0x5853c6dc
call eax
test ebx, ebx
mov byte [esp + 0x170], 1
jne 0x614da3
push 0x5853dd48
push 0x100
push 0x168
push 0x5853d87c
mov ecx, 0x58549ff8
call fcn.00617a86
add esp, 0x10
mov byte [esp + 0x170], 0
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [esp + 0x10]
call eax
mov ecx, dword [esp + 0x14]
push ecx
mov dword [esp + 0x14], edi
call dword [0x5853c1d8]
mov eax, 0xfffffffe
jmp 0x615087
mov eax, dword [ebx]
cmp eax, 0x1000
jb 0x614dd0
push eax
push 0x5853dd5c
push 0x100
push 0x16c
push 0x5853d87c
mov ecx, 0x58549ff8
call fcn.00617a86
add esp, 0x14
jmp 0x614d75
test eax, eax
je 0x614dea
test esi, esi
jne 0x614dea
push eax
push 0x5853dd7c
push 0x100
push 0x170
jmp 0x614dbc
lea esi, [esp + 0x4c]
call fcn.006225a6
sub esp, 0x1c
mov byte [esp + 0x18c], 2
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x5854a0b8
call dword [0x5853c204]
mov edi, esi
call fcn.00622866
test al, al
jne 0x614e8f
sub esp, 0x1c
mov edi, esp
push 0x5853dd9c
push 0x100
mov ecx, 7
mov esi, 0x5854a0b8
mov eax, 0xf35854a0
movsd dword es:[edi], dword [esi]
push 0x176
push 0x5853d87c
mov ecx, 0x58549ff8
call fcn.00617a86
add esp, 0x2c
lea ecx, [esp + 0x4c]
mov byte [esp + 0x170], 1
call 0x6225e6
mov byte [esp + 0x170], 0
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
or byte [ebp - 0xefdbb4], cl
ror byte [ebx + 0x5114244c], 1
mov dword [esp + 0x14], 0x5853c6e4
call dword [0x5853c1d8]
mov eax, 0xfffffffb
jmp 0x615087
lea edi, [esp + 0x18]
lea esi, [esp + 0x4c]
call fcn.00622a06
test al, al
jne 0x614ea9
mov eax, esi
call fcn.006229a6
jmp 0x614e4c
mov esi, dword [esp + 0x18]
push 0x1020
push 0
push esi
call 0x627218
mov edi, dword [ebp + 8]
add esp, 0xc
push edi
push 0x5853ddcc
push 0x10
push 0x183
push 0x5853d87c
mov ecx, 0x58549ff8
call fcn.00617a86
lea eax, [esi + 8]
mov dword [esi + 4], edi
mov edx, dword [ebx]
mov dword [esp + 0x2c], eax
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
add esp, 0x14
test ebx, ebx
mov dword [esi], eax
jbe 0x614f0a
mov ecx, dword [ebx]
mov edx, dword [esp + 0x20]
push ecx
push edx
lea eax, [esi + 0x20]
push eax
call 0x627212
add esp, 0xc
lea edi, [esp + 0x74]
call 0x610516
mov edx, 4
mov eax, esi
mov ecx, edi
call fcn.006105d6
mov edx, 4
lea eax, [esi + 4]
mov ecx, edi
call fcn.006105d6
mov eax, dword [esp + 0x18]
mov edx, 4
add byte [eax], al
mov ecx, edi
call fcn.006105d6
lea edi, [esi + 0x20]
mov edx, 0x1000
mov eax, edi
lea ecx, [esp + 0x74]
call fcn.006105d6
lea ebx, [esi + 0xc]
lea ecx, [esp + 0x74]
dec esp
and al, 0x74
call fcn.00610606
mov ecx, dword [0x5854a0b4]
push ecx
call dword [0x5853c184]
pop eax
mov ecx, dword [0x5854a0b4]
mov edx, dword [0x5854a0b0]
mov eax, 0x1770
call 0x6147c6
test eax, eax
jne 0x615018
mov ebx, dword [esi]
test ebx, ebx
jge 0x614fb7
push ebx
push 0x5853de20
push 0x100
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
test eax, eax
jbe 0x61503e
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
cmp eax, ecx
mov esi, ecx
push 0x5853de64
push 0x100
push 0x1aa
push 0x5853d87c
mov ecx, 0x58549ff8
call fcn.00617a86
add esp, 0x10
invalid
sti