Function at 0x45d08b
Capabilities:
Terminate process

Disassembly:
mov esi, dword [esp + 0x5c]
push dword [0x4b7678]
call fcn.0041ab24
add esp, 4
test esi, esi
jne 0x45c99a
xor edi, edi
lea esi, [esp + 0x18]
mov dword [esi], edi
mov dword [esi + 4], 0x45d146
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], ebx
push 0xc8
push ebx
call dword [0x4b2e78]
mov dword [esi + 0x14], eax
push 0x7f01
push edi
call dword [0x4b2e74]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edi
push dword [0x48e058]
push edi
push edi
call fcn.00413245
add esp, 0xc
mov dword [esi + 0x24], eax
push esi
call dword [0x4b2eb0]
push 0xb10
push 0
push 0x4b6158
call fcn.004723e0
add esp, 0xc
push 0x67
push dword [0x4b7678]
call fcn.00403281
add esp, 8
mov dword [0x4b7688], eax
push 0x9e
push dword [0x4b7678]
call fcn.00403281
add esp, 8
mov dword [0x4b768c], eax
call fcn.0046042a
mov esi, 0x19
mov dword [0x4b6c68], 0xa
mov dword [0x4b6c6c], 0x14
mov dword [0x4b6c74], 0x1c
mov dword [0x4b6c70], esi
push 0x76
push dword [0x4b7678]
call fcn.00403281
add esp, 8
mov edi, dword [0x4b6c74]
lea ebp, [eax + eax*4]
mov ebx, dword [0x4b6c6c]
add ebp, ebp
add ebp, esi
push 0x77
push dword [0x4b7678]
call fcn.00403281
add esp, 8
mov esi, eax
imul esi, ebx
add esi, edi
mov edi, dword [0x4b7668]
call fcn.0045c3c0
mov ecx, eax
mov eax, 0x12340042
test ecx, ecx
je 0x45ca62
push 2
push edi
call dword [0x4b6134]
lea edi, [esp + 0x18]
mov dword [edi], 0x28
push edi
push eax
call fcn.0045c585
mov eax, edi
mov edi, dword [edi + 0xc]
mov ebx, dword [eax + 0x10]
sub edi, dword [eax + 4]
sub ebx, dword [eax + 8]
mov eax, dword [0x48e058]
cmp ebp, edi
cmovle edi, ebp
cmp esi, ebx
cmovle ebx, esi
xor ecx, ecx
push eax
push ecx
push ecx
call fcn.00413245
add esp, 0xc
mov dword [esp], eax
push 0x70
push dword [0x4b7678]
call fcn.004031e1
add esp, 8
movzx ebp, al
shl ebp, 0x15
or ebp, 0xcf0000
push 0x72
push dword [0x4b7678]
call fcn.00403281
add esp, 8
mov esi, ebp
and esi, 0xea0000
xor ecx, ecx
inc ecx
cmp eax, ecx
cmovne esi, ebp
push 0x59
push dword [0x4b7678]
call fcn.004031e1
add esp, 8
movzx ebp, al
push 0x82
push dword [0x4b7678]
call fcn.004031e1
add esp, 8
test al, al
lea ecx, [ebp*8 + 0x200]
lea edx, [ebp*8]
mov eax, 0x80000000
cmovne edx, ecx
xor ecx, ecx
push ecx
push dword [esp + 0x5c]
push ecx
mov ecx, 0
push ecx
push ebx
push edi
push eax
push eax
push esi
mov eax, dword [esp + 0x24]
push eax
push eax
mov esi, eax
push edx
call dword [0x4b2d94]
mov dword [0x4b7668], eax
push esi
call fcn.00410dcd
add esp, 4
xor ecx, ecx
xor edx, edx
call fcn.004605a3
mov dword [0x4b6154], 0x4975c8
push 0x4b6154
push 0x4b6158
push dword [0x4b7678]
call fcn.0044abbe
add esp, 0xc
mov edx, dword [0x4b7678]
mov ecx, eax
mov dword [0x4b7660], eax
call fcn.00460adb
push dword [0x4b7678]
push 0x4b504c
call fcn.0040fb26
add esp, 8
mov dword [0x4b7690], eax
push eax
push dword [0x4b7660]
call fcn.00451377
add esp, 8
push 0x63
push dword [0x4b7678]
call fcn.00403281
add esp, 8
mov esi, eax
push 0x76
push dword [0x4b7678]
call fcn.00403281
add esp, 8
mov edi, eax
push 0x77
push dword [0x4b7678]
call fcn.00403281
add esp, 8
push esi
push edi
push eax
push dword [0x4b7660]
call fcn.0044ade4
add esp, 0x10
lea esi, [esp + 4]
push esi
push dword [0x4b7668]
call dword [0x4b2e44]
lea ebp, [esp + 0x18]
push ebp
push dword [0x4b7668]
call dword [0x4b2dec]
push 0x83
push dword [0x4b7678]
call fcn.00403281
add esp, 8
mov ecx, dword [esi + 8]
mov dword [0x4b6c78], eax
mov dword [0x4b6c7c], eax
add eax, eax
mov edx, dword [0x4b7660]
add ecx, eax
add eax, dword [esi + 0xc]
sub ecx, dword [esi]
sub eax, dword [esi + 4]
sub ecx, dword [ebp + 8]
sub eax, dword [ebp + 0xc]
add ecx, dword [ebp]
add eax, dword [ebp + 4]
mov dword [0x4b6c70], ecx
mov dword [0x4b6c74], eax
mov esi, dword [edx + 0x128]
mov edx, dword [edx + 0x12c]
imul esi, dword [0x4b6c6c]
imul edx, dword [0x4b6c68]
add esi, eax
add edx, ecx
push 0xe
push esi
push edx
mov eax, 0
push eax
push eax
push eax
xor ebp, ebp
push dword [0x4b7668]
call dword [0x4b2f08]
mov edi, dword [0x4b6c68]
lea eax, [edi + 0xf]
add edi, 0x1e
test eax, eax
cmovns edi, eax
sar edi, 4
imul edi, dword [0x4b6c6c]
add edi, edi
push ebp
xor ebx, ebx
inc ebx
push ebx
push edi
call fcn.00410d50
add esp, 0xc
mov esi, eax
push edi
push ebp
push eax
call fcn.004723e0
add esp, 0xc
push esi
push ebx
push ebx
push dword [0x4b6c6c]
push dword [0x4b6c68]
call dword [0x4b2cac]
mov dword [0x4b6c80], eax
push esi
xor esi, esi
call fcn.00410dcd
add esp, 4
push dword [0x4b6c6c]
push dword [0x4b6c68]
push dword [0x4b6c80]
push dword [0x4b7668]
call dword [0x4b2d80]
mov eax, dword [0x4b7660]
lea edx, [esp + 0x18]
mov dword [edx], 0x1c
mov dword [edx + 4], 0x1f
mov dword [edx + 8], esi
mov eax, dword [eax + 0x128]
lea ecx, [eax - 1]
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], esi
push esi
push edx
push ebx
push dword [0x4b7668]
call dword [0x4b2ef8]
mov dword [0x4b6c84], esi
mov dword [0x4b6c88], esi
call dword [0x4b2e0c]
mov dword [0x4b6c8c], eax
push esi
push dword [0x4b7668]
call dword [0x4b2e34]
mov dword [0x4b6c90], eax
call dword [0x4b2d8c]
mov edi, dword [0x4b2d68]
mov dword [0x4b6c94], eax
push 0x49cf01
push 0x190
push esi
push eax
call edi
push 0x4a301c
push 0x1a0
push esi
push dword [0x4b6c94]
call edi
call dword [0x4b2d88]
mov dword [0x4b6c98], eax
push ebx
push 0x4b6c9c
call fcn.0041e5ba
add esp, 8
call fcn.00460b5e
xor ebx, ebx
mov ebp, dword [ebx*4 + 0x4b6c90]
push esi
push esi
mov eax, 0x800
push eax
push ebp
call edi
push 0x4a27cb
mov eax, 0x10
push eax
push esi
push ebp
call edi
push esi
push esi
mov eax, 0x800
push eax
push ebp
call edi
push 0x4a9503
push 0x20
push esi
push ebp
call edi
push 0x4a171e
push 0x30
push esi
push ebp
call edi
push 0x49f04b
push dword [0x4b6c98]
mov eax, 0x10
push eax
push ebp
call edi
push 0x4a94d0
push 0x50
push esi
push ebp
call edi
push esi
push esi
mov eax, 0x800
push eax
push ebp
call edi
push 0x4a43bd
push 0x170
push esi
push ebp
call edi
push 0x4a22ee
push 0x60
push esi
push ebp
call edi
push 0x4a211e
push 0x70
push esi
push ebp
call edi
push esi
push esi
mov eax, 0x800
push eax
push ebp
call edi
push 0x72
push dword [0x4b7678]
call fcn.00403281
add esp, 8
xor ecx, ecx
cmp eax, 1
sete cl
push 0x4a19b1
push 0x180
push ecx
push ebp
call edi
push esi
push esi
mov eax, 0x800
push eax
push ebp
call edi
call fcn.00465f44
test al, al
je 0x45ceaa
push 0x4a0b42
push 0x140
push 0
push ebp
call edi
push dword [0x48e058]
push 0x49f964
call fcn.00455acb
add esp, 8
mov esi, eax
push eax
push 0x150
mov eax, 0
push eax
push ebp
call edi
push esi
xor esi, esi
call fcn.00410dcd
add esp, 4
test ebx, ebx
mov ebx, 1
je 0x45cdc6
cmp byte [0x4b7684], 0
je 0x45cf03
mov eax, dword [0x4b504c]
push 0x4a633f
push 0x4b504c
call dword [eax]
add esp, 8
call fcn.00460bdf
xor edi, edi
push edi
call dword [0x4b2e14]
movzx eax, ax
push 0x14
lea esi, [esp + 0x1c]
push esi
push 0x1004
push eax
call dword [0x4b307c]
push esi
call fcn.0047c578
add esp, 4
mov dword [0x4b760c], eax
push dword [esp + 0x64]
push dword [0x4b7668]
call dword [0x4b2f18]
push dword [0x4b7668]
call dword [0x4b2ef0]
mov dword [0x4b6ca8], edi
mov dword [0x4b6cac], edi
call fcn.00460e23
call dword [0x4b2e10]
xor ecx, ecx
cmp eax, dword [0x4b7668]
sete cl
push ecx
push dword [0x4b7660]
call fcn.00451386
add esp, 8
push dword [0x4b7668]
call dword [0x4b2f2c]
mov ebp, dword [0x4b2ea0]
call fcn.004019a6
test al, al
mov ebx, 0
jne 0x45cfda
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0x28]
push eax
call dword [0x4b2e9c]
test eax, eax
jne 0x45cfda
call dword [0x4b2e10]
xor ecx, ecx
cmp eax, dword [0x4b7668]
sete cl
push ecx
push dword [0x4b7660]
call fcn.00451386
add esp, 8
xor ebx, ebx
dec ebx
lea eax, [esp + 4]
push eax
call fcn.00465af8
add esp, 4
mov esi, eax
push 0x1cff
push ebx
push 0
push eax
push dword [esp + 0x14]
call dword [0x4b2e94]
cmp eax, dword [esp + 4]
jae 0x45d00d
push dword [esi + eax*4]
call fcn.00465c29
add esp, 4
push esi
call fcn.00410dcd
add esp, 4
push 1
push edi
push edi
push edi
lea eax, [esp + 0x28]
push eax
call ebp
test eax, eax
je 0x45d06b
cmp dword [esp + 0x1c], 0x12
je 0x45d0f1
push dword [0x4b7694]
call dword [0x4b2e68]
test eax, eax
je 0x45d056
lea eax, [esp + 0x18]
push eax
push dword [0x4b7694]
call dword [0x4b2e5c]
test eax, eax
jne 0x45d061
lea eax, [esp + 0x18]
push eax
call dword [0x4b2dbc]
cmp dword [esp + 0x1c], 0x8005
je 0x45d016
call fcn.0040195b
jmp 0x45cf94
call fcn.0047e6f0
add esp, 8
test eax, eax
jne 0x45d0fa
mov edi, dword [0x48e058]
push edi
push 0x4a7126
call fcn.00455acb
add esp, 8
mov esi, eax
push edi
push 0x4a2a83
call fcn.00455acb
add esp, 8
mov edi, eax
push 4
push 0x134
push eax
push esi
call fcn.0046d8c6
add esp, 0x10
cmp eax, 6
jne 0x45d0d8
call fcn.0046c758
push esi
call fcn.00410dcd
add esp, 4
push edi
call fcn.00410dcd
add esp, 4
push 0
call fcn.0047a10b
rol byte [ecx], 1
invalid
push dword [esp + 0x20]
call fcn.0045d233
push 0x4a0b65
push esi
call fcn.0047e6f0
add esp, 8
test eax, eax
jne 0x45d118
call fcn.0046d9ab
push 1
call fcn.0047a10b
cmp byte [esi], 0x2d
jne 0x45d128
push esi
push 0x4aaf06
call fcn.0045d2ee
push esi
push 0x4aae49
call fcn.0045d2ee
mov eax, edi
lea ecx, [esp + 0x14]
inc eax
lea edx, [esp + 4]
push ecx
push edx
push 0x49d686
push eax
call fcn.00419547
add esp, 0x10
cmp eax, 2
jne 0x45d202
xor edi, edi
push dword [esp + 0x14]
push edi
push edi
push 4
push dword [esp + 0x14]
call dword [0x4b313c]
test eax, eax
je 0x45d202
mov esi, eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x18]
mov dword [ecx], esi
mov dword [ecx + 8], eax
mov dword [ecx + 4], edi
mov dword [ecx + 0xc], edi
mov dword [ecx + 0x10], ecx
push ecx
push dword [0x4b7678]
call fcn.00403db0
add esp, 8
test al, al
je 0x45d229
push esi
call dword [0x4b31b4]
push dword [esp + 4]
call dword [0x4b2fc8]
jmp 0x45d20b
call fcn.0045b04f
test al, al
je 0x45d222
push dword [0x4b7678]
call fcn.00402f5d
add esp, 4
mov ebx, dword [esp + 0x58]
jmp 0x45c92e
push 0
call fcn.0045d233
push 0x4a4711
call fcn.0045d28b