Function at 0x457460
Capabilities:
Terminate process

Disassembly:
sub esp, 0x2c
cmp dword [0x5fdf10], 0
push ebx
push ebp
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x24], ebx
jne 0x457a16
mov eax, 0x5fd388
xor ebp, ebp
mov dword [esp + 0x10], eax
xor ebx, ebx
mov dword [esp + 0x20], eax
mov ecx, eax
nop dword [eax]
mov esi, 1
xor edx, edx
mov edi, esi
cmp eax, 0x5fd388
jle 0x4574b3
mov eax, ebx
sub eax, edx
inc edx
imul esi, eax
imul edi, edx
cmp edx, ebp
jl 0x4574a0
mov ecx, dword [esp + 0x20]
xor edx, edx
mov eax, esi
div edi
inc ebx
mov dword [ecx], eax
add ecx, 4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
cmp ebx, 0x40
jl 0x457490
add eax, 0x100
inc ebp
mov dword [esp + 0x10], eax
cmp eax, 0x5fda88
jl 0x457485
mov dword [esp + 0x20], 0
mov edi, 0x5fda88
mov dword [esp + 0x18], 0
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x10], ecx
xor esi, esi
jmp 0x457504
mov ecx, dword [esp + 0x10]
mov eax, 0xaaaaaaab
mov dword [edi], ebx
mul ecx
mov ecx, esi
mov ebp, edx
shr ebp, 2
imul eax, ebp, 0x2f
sub ecx, eax
movzx eax, byte [ecx + 0x4d0bd8]
mov ecx, 6
add eax, dword [esp + 0x18]
add ebx, dword [eax*4 + 0x5fd388]
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cdq
idiv ecx
mov ecx, dword [esp + 0x20]
test edx, edx
jne 0x457550
lea eax, [ecx + ebp]
mov dword [eax*4 + 0x5fdfb8], ebx
xor ebx, ebx
add esi, 8
add edi, 4
cmp esi, 0xc0
jl 0x457500
add dword [esp + 0x18], 0x40
add ecx, 4
mov dword [esp + 0x20], ecx
cmp edi, 0x5fdcc8
jl 0x4574f2
xor ebx, ebx
mov edi, 0x5fdcc8
xor ebp, ebp
nop dword [eax + eax]
xor edx, edx
xor ecx, ecx
mov esi, ecx
mov dword [edi], edx
mov eax, ecx
shr esi, 2
and eax, 3
inc ecx
movzx eax, byte [eax + esi*8 + str._____._____]
add eax, ebp
add edx, dword [eax*4 + 0x5fd388]
mov eax, ecx
and eax, 0x80000003
jns 0x4575b2
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x4575c0
lea eax, [esi + ebx]
mov dword [eax*4 + 0x5fdf28], edx
xor edx, edx
add edi, 4
cmp ecx, 0x18
jl 0x457584
add ebp, 0x40
add ebx, 6
cmp edi, 0x5fdf08
jl 0x457580
xor eax, eax
mov dword [esp + 0x18], eax
nop dword [eax]
mov ecx, eax
mov ebx, eax
shr ecx, 3
and ebx, 7
mov dword [esp + 0x20], ecx
xorps xmm0, xmm0
movlpd qword [esp + 0x10], xmm0
lea ebp, [ecx*8]
test ecx, ecx
je 0x457672
test ebx, ebx
je 0x457622
xor esi, esi
lea eax, [ebp - 9]
add eax, ebx
xor edi, edi
bts esi, eax
cmp eax, 0x20
cmovae edi, esi
xor esi, edi
cmp eax, 0x40
cmovae edi, esi
jmp 0x45762a
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
dec ecx
xor edx, edx
lea eax, [ebx + ecx*8]
xor ecx, ecx
bts ecx, eax
mov dword [esp + 0x10], eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
or esi, ecx
or edi, edx
cmp ebx, 7
je 0x4576a4
mov edx, eax
xor ecx, ecx
xor eax, eax
inc edx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
or edi, ecx
mov ecx, dword [esp + 0x20]
jmp 0x45767a
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
cmp ebx, 7
je 0x4576a4
lea ebp, [ecx*8]
xor eax, eax
lea edx, [ebp + 1]
xor ecx, ecx
add edx, ebx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
or edi, ecx
mov eax, dword [esp + 0x20]
add ebp, ebx
cmp eax, 7
je 0x457715
cmp ebx, 7
je 0x4576d0
xor eax, eax
lea edx, [ebp + 9]
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
or edi, ecx
xor eax, eax
lea edx, [ebp + 8]
bts eax, edx
xor ecx, ecx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
mov eax, dword [esp + 0x20]
or edi, ecx
cmp eax, 7
je 0x457715
test ebx, ebx
je 0x457735
xor eax, eax
lea edx, [ebp + 7]
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
or edi, ecx
test ebx, ebx
je 0x457735
xor eax, eax
lea edx, [ebp - 1]
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
or edi, ecx
mov eax, dword [esp + 0x18]
mov dword [eax*8 + 0x5fe018], esi
mov dword [eax*8 + 0x5fe01c], edi
inc eax
mov dword [esp + 0x18], eax
cmp eax, 0x40
jb 0x4575e0
xor ebp, ebp
nop word [eax + eax]
mov eax, ebp
movlpd qword [esp + 0x18], xmm0
shr eax, 3
mov ebx, ebp
and ebx, 7
mov dword [esp + 0x20], eax
lea ecx, [eax - 1]
test ecx, ecx
js 0x4577a0
cmp ebx, 2
jb 0x4577a0
xor esi, esi
lea eax, [ecx*8 - 2]
add eax, ebx
xor edi, edi
bts esi, eax
cmp eax, 0x20
cmovae edi, esi
xor esi, edi
cmp eax, 0x40
cmovae edi, esi
jmp 0x4577a8
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
lea eax, [ebx + 2]
test ecx, ecx
js 0x4577d0
cmp eax, 7
ja 0x4577d0
lea edx, [eax + ecx*8]
xor eax, eax
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
or edi, ecx
mov eax, dword [esp + 0x20]
add eax, 0xfffffffe
mov dword [esp + 0x18], eax
js 0x457808
cmp ebx, 1
jb 0x457808
lea edx, [eax*8 - 1]
xor ecx, ecx
xor eax, eax
add edx, ebx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
mov eax, dword [esp + 0x18]
or edi, ecx
lea ecx, [ebx + 1]
test eax, eax
js 0x457830
cmp ecx, 7
ja 0x457830
lea edx, [ecx + eax*8]
xor eax, eax
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
or edi, ecx
mov eax, dword [esp + 0x20]
inc eax
cmp eax, 7
ja 0x45788c
shl eax, 3
mov dword [esp + 0x18], eax
cmp ebx, 2
jb 0x457868
lea edx, [eax - 2]
xor ecx, ecx
xor eax, eax
add edx, ebx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
mov eax, dword [esp + 0x18]
or edi, ecx
lea ecx, [ebx + 2]
cmp ecx, 7
ja 0x45788c
lea edx, [ecx + eax]
xor eax, eax
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
or edi, ecx
mov eax, dword [esp + 0x20]
add eax, 2
cmp eax, 7
ja 0x4578ea
shl eax, 3
mov dword [esp + 0x20], eax
cmp ebx, 1
jb 0x4578c6
lea edx, [eax - 1]
xor ecx, ecx
xor eax, eax
add edx, ebx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
mov eax, dword [esp + 0x20]
or edi, ecx
lea ecx, [ebx + 1]
cmp ecx, 7
ja 0x4578ea
lea edx, [ecx + eax]
xor eax, eax
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
or edi, ecx
mov dword [ebp*8 + 0x60e218], esi
mov dword [ebp*8 + 0x60e21c], edi
inc ebp
cmp ebp, 0x40
jb 0x457760
call fcn.00454cb0
call fcn.00455070
xor ebp, ebp
nop
mov ecx, ebp
mov ebx, ebp
shr ecx, 3
and ebx, 7
mov dword [esp + 0x20], ecx
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
cmp ecx, 7
je 0x45797c
lea edx, [ebx + ecx*8]
test ebx, ebx
je 0x457952
xor esi, esi
lea eax, [edx + 7]
xor edi, edi
bts esi, eax
cmp eax, 0x20
cmovae edi, esi
xor esi, edi
cmp eax, 0x40
cmovae edi, esi
cmp ebx, 7
je 0x457984
jmp 0x45795a
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
xor eax, eax
add edx, 9
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
or edi, ecx
mov ecx, dword [esp + 0x20]
jmp 0x457984
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov dword [ebp*8 + 0x60e618], esi
mov dword [ebp*8 + 0x60e61c], edi
movlpd qword [esp + 0x18], xmm0
test ecx, ecx
je 0x4579e8
lea edx, [ebx + ecx*8]
test ebx, ebx
je 0x4579c2
xor esi, esi
lea eax, [edx - 9]
xor edi, edi
bts esi, eax
cmp eax, 0x20
cmovae edi, esi
xor esi, edi
cmp eax, 0x40
cmovae edi, esi
cmp ebx, 7
je 0x4579f0
jmp 0x4579ca
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
xor eax, eax
add edx, 0xfffffff9
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or esi, eax
or edi, ecx
jmp 0x4579f0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov dword [ebp*8 + 0x60e418], esi
mov dword [ebp*8 + 0x60e41c], edi
inc ebp
cmp ebp, 0x40
jb 0x457910
mov ebx, dword [esp + 0x24]
mov dword [0x5fdf10], 1
mov eax, dword [0x5fdf1c]
test eax, eax
je 0x457ad1
push eax
call fcn.0047c44b
add esp, 4
push dword [0x61e818]
call fcn.0047c44b
xor edi, edi
add esp, 4
cmp dword [0x5e5340], edi
jle 0x457a6d
xor esi, esi
nop word [eax + eax]
mov ecx, dword [0x5fdf08]
lea ecx, [esi + ecx]
call fcn.00457310
inc edi
lea esi, [esi + 0x140]
cmp edi, dword [0x5e5340]
jl 0x457a50
xor esi, esi
cmp dword [0x5fd384], esi
jle 0x457a9d
xor edi, edi
nop dword [eax]
mov ecx, dword [0x5fdf24]
lea ecx, [edi + ecx]
call fcn.00457310
inc esi
lea edi, [edi + 0x510]
cmp esi, dword [0x5fd384]
jl 0x457a80
push dword [0x5fdf20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x5fdf1c], 0
mov dword [0x5fd380], 0
mov dword [0x5fdf18], 0
mov dword [0x5fdf14], 0
mov ecx, ebx
mov dword [0x4f668c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457ae0
sub ecx, edx
je 0x457e63
mov ecx, str._empty_
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x457b16
test dl, dl
je 0x457b12
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x457b16
add eax, 2
add ecx, 2
test dl, dl
jne 0x457af6
xor eax, eax
jmp 0x457b1b
sbb eax, eax
or eax, 1
test eax, eax
je 0x457e63
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457b28
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0048053a
mov edx, eax
add esp, 4
mov dword [0x5fdf1c], edx
sub eax, ebx
mov cl, byte [ebx]
lea ebx, [ebx + 1]
mov byte [eax + ebx - 1], cl
test cl, cl
jne 0x457b47
xor esi, esi
xor eax, eax
mov dword [0x5fdf0c], esi
nop
mov cl, byte [edx + eax]
cmp cl, 0x3b
je 0x457b69
inc esi
test cl, cl
je 0x457b7e
nop dword [eax]
cmp cl, 0x3b
je 0x457b7e
mov cl, byte [edx + eax + 1]
inc eax
test cl, cl
jne 0x457b70
cmp byte [edx + eax], 0
je 0x457b8b
mov byte [edx + eax], 0
inc eax
jmp 0x457b60
lea eax, [esi*4]
mov dword [0x5fdf0c], esi
push eax
call fcn.0048053a
mov ebx, dword [0x5fdf0c]
add esp, 4
mov ebp, eax
xor ecx, ecx
xor edi, edi
mov dword [0x61e818], ebp
test ebx, ebx
jle 0x457be6
mov esi, dword [0x5fdf1c]
mov dl, byte [esi]
nop
test dl, dl
jne 0x457bcb
inc ecx
cmp byte [esi + ecx], 0
je 0x457bc4
lea eax, [esi + ecx]
mov dword [ebp + edi*4], eax
mov dl, byte [eax]
test dl, dl
je 0x457be1
mov dl, byte [esi + ecx + 1]
inc ecx
test dl, dl
jne 0x457bd8
inc edi
cmp edi, ebx
jl 0x457bc0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
cmp dword [0x5fdf08], 0
mov dword [0x5fdf20], eax
mov dword [0x5fd384], 0
mov dword [0x5e5340], 0
mov dword [0x4f6690], 0
mov dword [0x4f6694], 0
jne 0x457c61
push 0x32c80
call fcn.0048053a
add esp, 4
mov dword [0x5fdf08], eax
push 0x1106d0
call fcn.0048053a
add esp, 4
mov dword [0x5fdf24], eax
cmp dword [0x5fdf08], 0
je 0x457e6d
test eax, eax
je 0x457e6d
mov eax, 0x5ed388
nop word [eax + eax]
mov dword [eax - 8], 0
mov dword [eax - 4], 0
mov dword [eax], 0
add eax, 0x10
cmp eax, 0x5fd388
jl 0x457c70
mov esi, 0x4d08c9
movsx eax, byte [esi]
push eax
push str.K_cvK
lea eax, [esp + 0x30]
push 0x10
push eax
call fcn.00454950
add esp, 0x10
lea ecx, [esp + 0x28]
call fcn.00456bf0
dec esi
cmp esi, str._PNBRQK__pnbrqk
jg 0x457c93
xor ebp, ebp
mov ebx, 0x4d08c9
cmp ebp, 5
jge 0x457cff
mov edi, 5
mov esi, ebx
sub edi, ebp
movsx eax, byte [esi]
push eax
movsx eax, byte [ebx]
push eax
push str.K_cvK_c
lea eax, [esp + 0x34]
push 0x10
push eax
call fcn.00454950
add esp, 0x14
lea ecx, [esp + 0x28]
call fcn.00456bf0
lea esi, [esi - 1]
sub edi, 1
jne 0x457cd2
dec ebx
inc ebp
cmp ebx, str._PNBRQK__pnbrqk
jg 0x457cc4
xor ebp, ebp
mov ebx, 0x4d08c9
cmp ebp, 5
jge 0x457d4d
mov edi, 5
mov esi, ebx
sub edi, ebp
nop
movsx eax, byte [esi]
push eax
movsx eax, byte [ebx]
push eax
push str.K_c_cvK
lea eax, [esp + 0x34]
push 0x10
push eax
call fcn.00454950
add esp, 0x14
lea ecx, [esp + 0x28]
call fcn.00456bf0
lea esi, [esi - 1]
sub edi, 1
jne 0x457d20
dec ebx
inc ebp
cmp ebx, str._PNBRQK__pnbrqk
jg 0x457d10
xor eax, eax
mov ebx, 0x4d08c9
mov dword [esp + 0x20], eax
cmp eax, 5
jge 0x457db1
mov ebp, 5
mov edi, ebx
sub ebp, eax
mov esi, 0x4d08c9
movsx eax, byte [esi]
push eax
movsx eax, byte [edi]
push eax
movsx eax, byte [ebx]
push eax
push str.K_c_cvK_c
lea eax, [esp + 0x38]
push 0x10
push eax
call fcn.00454950
add esp, 0x18
lea ecx, [esp + 0x28]
call fcn.00456bf0
dec esi
cmp esi, str._PNBRQK__pnbrqk
jg 0x457d75
dec edi
sub ebp, 1
jne 0x457d70
mov eax, dword [esp + 0x20]
inc eax
dec ebx
mov dword [esp + 0x20], eax
cmp ebx, str._PNBRQK__pnbrqk
jg 0x457d62
xor ecx, ecx
mov eax, 0x4d08c9
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
nop
mov ebp, ecx
mov dword [esp + 0x18], ebp
cmp ecx, 5
jge 0x457e39
mov ebx, eax
cmp ebp, 5
jge 0x457e26
mov edi, 5
mov esi, ebx
sub edi, ebp
mov ebp, dword [esp + 0x20]
nop
movsx eax, byte [esi]
push eax
movsx eax, byte [ebx]
push eax
movsx eax, byte [ebp]
push eax
push str.K_c_c_cvK
lea eax, [esp + 0x38]
push 0x10
push eax
call fcn.00454950
add esp, 0x18
lea ecx, [esp + 0x28]
call fcn.00456bf0
lea esi, [esi - 1]
sub edi, 1
jne 0x457df0
mov ebp, dword [esp + 0x18]
inc ebp
dec ebx
mov dword [esp + 0x18], ebp
cmp ebp, 5
jl 0x457de2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
dec eax
inc ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
cmp eax, str._PNBRQK__pnbrqk
jg 0x457dd0
mov ecx, dword [0x4f6694]
cmp dword [0x4f6690], ecx
cmova ecx, dword [0x4f6690]
mov dword [0x4f668c], ecx
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x2c
ret
push str.Out_of_memory._n
push 2
call fcn.0047ba4e
add esp, 4
push eax
call fcn.004548c0
add esp, 8
push 1
call fcn.0047b843
int3