Function at 0x452040
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.00403e5c
xor eax, eax
push ebp
push 0x4534a6
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00403ac4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
cmp byte [eax + 0x58], 4
jne 0x453459
cmp dword [ebp - 0xc], 0
je 0x453459
mov edx, dword [ebp - 0xc]
mov eax, 0x4534bc
call fcn.00403f34
dec eax
jne 0x453459
lea eax, [ebp - 0xc]
mov ecx, 3
mov edx, 1
call fcn.00403eec
mov edx, dword [ebp - 0xc]
mov eax, 0x4534c8
call fcn.00403f34
dec eax
jne 0x452219
lea eax, [ebp - 0xc]
mov ecx, 6
mov edx, 1
call fcn.00403eec
mov eax, dword [ebp - 0xc]
mov edx, 0x4534d8
call fcn.00403db8
jne 0x4521ef
mov eax, dword [0x45c004]
mov eax, dword [eax]
mov eax, dword [eax + 0x1e0]
call fcn.004205c0
mov eax, dword [0x45c004]
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 0x4521bb
inc ebx
xor esi, esi
fild dword [0x45d96c]
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.00451cf4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
cmp byte [eax + 0x58], 4
jne 0x4521b7
push 0x4534e8
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 0x453504
lea eax, [ebp - 0x204]
mov edx, 3
call fcn.00403d68
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 0x45214f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
cmp byte [eax + 0x58], 4
jne 0x452219
mov edx, 0x453510
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453538
mov ecx, dword [eax]
call dword [ecx + 0x80]
jmp 0x452219
mov eax, dword [0x45c004]
mov eax, dword [eax]
mov eax, dword [eax + 0x1dc]
add eax, 0x34
mov edx, dword [ebp - 0xc]
call fcn.00403a80
mov eax, dword [0x45c004]
mov eax, dword [eax]
mov eax, dword [eax + 0x1dc]
call fcn.004415c4
mov edx, dword [ebp - 0xc]
mov eax, 0x453574
call fcn.00403f34
dec eax
jne 0x4522e6
lea eax, [ebp - 0xc]
mov ecx, 4
mov edx, 1
call fcn.00403eec
mov eax, dword [ebp - 0xc]
mov edx, 0x453584
call fcn.00403db8
jne 0x452255
push 0x40
call sub.user32.dll_MessageBeep
mov eax, dword [ebp - 0xc]
mov edx, 0x453590
call fcn.00403db8
jne 0x45226b
push 0x30
call sub.user32.dll_MessageBeep
mov eax, dword [ebp - 0xc]
mov edx, 0x45359c
call fcn.00403db8
jne 0x452281
push 0x10
call sub.user32.dll_MessageBeep
mov eax, dword [ebp - 0xc]
mov edx, 0x4535a8
call fcn.00403db8
jne 0x452297
push 0x20
call sub.user32.dll_MessageBeep
mov eax, dword [ebp - 0xc]
mov edx, 0x4535b4
call fcn.00403db8
jne 0x4522ad
push 0
call sub.user32.dll_MessageBeep
push 0x4535c0
push dword [ebp - 0xc]
push 0x4535e4
push 0x453504
lea eax, [ebp - 0x204]
mov edx, 4
call fcn.00403d68
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, 0x4535f8
call fcn.00403f34
dec eax
jne 0x45236a
lea eax, [ebp - 0xc]
mov ecx, 9
mov edx, 1
call fcn.00403eec
lea eax, [ebp - 0xc]
mov edx, 0x45360c
call fcn.00403cb0
push 1
push 0
push 0
lea eax, [ebp - 0xc]
call fcn.00403e78
push eax
push 0x453610
mov eax, dword [ebp - 4]
call fcn.00423db4
push eax
call sub.shell32.dll_ShellExecuteA
cmp eax, 2
jne 0x452354
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453620
mov ecx, dword [eax]
call dword [ecx + 0x80]
jmp 0x45236a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453650
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov edx, dword [ebp - 0xc]
mov eax, 0x453680
call fcn.00403f34
dec eax
jne 0x4523f4
lea eax, [ebp - 0xc]
mov ecx, 6
mov edx, 1
call fcn.00403eec
xor eax, eax
push ebp
push 0x4523b1
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.004072fc
mov dword [0x45d96c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4523bb
push 0x453690
push dword [ebp - 0xc]
push 0x4535e4
push 0x453504
lea eax, [ebp - 0x204]
mov edx, 4
call fcn.00403d68
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, 0x4536b8
call fcn.00403f34
dec eax
jne 0x4524a0
lea eax, [ebp - 0xc]
mov ecx, 9
mov edx, 1
call fcn.00403eec
push 0x4536cc
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00451fb8
lea edx, [ebp - 0x208]
call fcn.00407290
push dword [ebp - 0x208]
push 0x453504
lea eax, [ebp - 0x204]
mov edx, 3
call fcn.00403d68
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov ecx, dword [eax]
call dword [ecx + 0x80]
push 0x4536e4
push dword [ebp - 0xc]
push 0x45370c
push 0x453504
lea eax, [ebp - 0x204]
mov edx, 4
call fcn.00403d68
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, 0x453720
call fcn.00403f34
dec eax
jne 0x4526f7
lea eax, [ebp - 0xc]
mov ecx, 6
mov edx, 1
call fcn.00403eec
mov edx, dword [ebp - 0xc]
mov eax, 0x453730
call fcn.00403f34
dec eax
jne 0x452585
lea eax, [ebp - 0xc]
mov ecx, 6
mov edx, 1
call fcn.00403eec
mov eax, dword [ebp - 0xc]
mov edx, 0x453740
call fcn.00403db8
jne 0x45251a
mov eax, dword [ebp - 4]
add eax, 0xa34
call fcn.0041cc28
mov eax, dword [ebp - 4]
add eax, 0xa34
call fcn.004051a2
call fcn.00402744
mov eax, dword [ebp - 0xc]
mov edx, 0x453750
call fcn.00403db8
jne 0x452585
mov eax, dword [ebp - 4]
add eax, 0xa34
mov edx, 0x453760
call fcn.00404dba
xor eax, eax
push ebp
push 0x452565
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0xa34
call fcn.004051a2
call fcn.00402744
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x452585
mov edx, dword [ebp - 0xc]
mov eax, 0x4537b0
call fcn.00403f34
dec eax
jne 0x4525f9
lea eax, [ebp - 0xc]
mov ecx, 5
mov edx, 1
call fcn.00403eec
xor eax, eax
push ebp
push 0x4525d9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0xa34
mov edx, dword [ebp - 0xc]
call fcn.00403fe0
call fcn.004053e7
call fcn.00402744
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4525f9
mov edx, dword [ebp - 0xc]
mov eax, 0x4537f4
call fcn.00403f34
dec eax
jne 0x4526f7
lea eax, [ebp - 0xc]
mov ecx, 4
mov edx, 1
call fcn.00403eec
mov eax, dword [ebp - 0xc]
mov edx, 0x453740
call fcn.00403db8
jne 0x452656
mov eax, dword [ebp - 4]
add eax, 0xa34
call fcn.00404f24
call fcn.00402744
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453804
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0xc]
mov edx, 0x453750
call fcn.00403db8
jne 0x4526f7
xor eax, eax
push ebp
push 0x4526b7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0xa34
call fcn.00404f24
call fcn.00402744
push 1
push 0
push 0
mov eax, 0x453760
call fcn.00403e6c
push eax
push 0x453610
mov eax, dword [ebp - 4]
call fcn.00423db4
push eax
call sub.shell32.dll_ShellExecuteA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4526e1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x45387c
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov edx, dword [ebp - 0xc]
mov eax, 0x4538b8
call fcn.00403f34
dec eax
jne 0x452890
lea eax, [ebp - 0xc]
mov ecx, 9
mov edx, 1
call fcn.00403eec
xor ebx, ebx
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 0x200]
call fcn.00404dba
xor eax, eax
push ebp
push 0x452755
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x200]
call fcn.0040519b
call fcn.00402744
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x452777
test bl, bl
jne 0x452890
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x200]
call fcn.00404008
lea eax, [ebp - 0x200]
call fcn.00405138
call fcn.00402744
push 0x453924
push dword [ebp - 0x14]
push 0x453504
lea eax, [ebp - 0x204]
mov edx, 3
call fcn.00403d68
mov eax, dword [ebp - 0x204]
call fcn.00403ca8
inc eax
cmp eax, 0x400
jle 0x4527f7
mov bl, 1
fild dword [0x45d96c]
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.00451cf4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x45393c
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, ebx
xor al, 1
test al, al
je 0x452833
push 0x453924
push dword [ebp - 0x14]
push 0x453504
lea eax, [ebp - 0x204]
mov edx, 3
call fcn.00403d68
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.00404fb4
call fcn.00402744
or al, bl
je 0x45277f
lea eax, [ebp - 0x200]
call fcn.00404f24
call fcn.00402744
xor bl, 1
test bl, bl
je 0x45287a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x45399c
mov ecx, dword [eax]
call dword [ecx + 0x80]
jmp 0x452890
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x4539d8
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov edx, dword [ebp - 0xc]
mov eax, 0x453a34
call fcn.00403f34
dec eax
jne 0x4528d9
lea eax, [ebp - 0xc]
mov ecx, 9
mov edx, 1
call fcn.00403eec
mov esi, 0x453a40
mov edi, 0x45d958
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, 0x45d964
mov edx, dword [ebp - 0xc]
call fcn.00403a80
mov eax, dword [0x45c004]
mov eax, dword [eax]
call fcn.00450f08
mov edx, dword [ebp - 0xc]
mov eax, 0x453a54
call fcn.00403f34
dec eax
jne 0x452922
lea eax, [ebp - 0xc]
mov ecx, 8
mov edx, 1
call fcn.00403eec
mov esi, 0x453a60
mov edi, 0x45d958
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, 0x45d964
mov edx, dword [ebp - 0xc]
call fcn.00403a80
mov eax, dword [0x45c004]
mov eax, dword [eax]
call fcn.00450f08
mov eax, dword [ebp - 0xc]
mov edx, 0x453a70
call fcn.00403db8
jne 0x452938
mov byte [0x45d954], 1
mov edx, dword [ebp - 0xc]
mov eax, 0x453a88
call fcn.00403f34
dec eax
jne 0x4529b7
lea eax, [ebp - 0xc]
mov ecx, 0xa
mov edx, 1
call fcn.00403eec
mov eax, dword [0x45c004]
mov eax, dword [eax]
mov eax, dword [eax + 0x1e4]
mov edx, dword [eax]
call dword [edx + 0x5c]
mov byte [0x45d968], 1
mov eax, dword [0x45c004]
mov eax, dword [eax]
add eax, 0x9e8
call fcn.00404f24
call fcn.00402744
mov eax, 0x45d958
mov edx, 0x453a40
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00402bb8
jne 0x4529b7
mov eax, dword [0x45d964]
call fcn.004074c4
test al, al
je 0x4529b7
mov eax, dword [0x45d964]
call fcn.00407638
mov eax, dword [ebp - 0xc]
mov edx, 0x453a9c
call fcn.00403db8
jne 0x4529f5
mov eax, dword [0x45c004]
mov eax, dword [eax]
mov eax, dword [eax + 0x1e4]
mov edx, dword [eax]
call dword [edx + 0x5c]
mov byte [0x45d968], 1
mov eax, dword [0x45c004]
mov eax, dword [eax]
add eax, 0x9e8
call fcn.00404f24
call fcn.00402744
mov edx, dword [ebp - 0xc]
mov eax, 0x453ab4
call fcn.00403f34
dec eax
jne 0x452a51
lea eax, [ebp - 0xc]
mov ecx, 0xa
mov edx, 1
call fcn.00403eec
mov eax, dword [ebp - 0xc]
call fcn.00407638
test al, al
je 0x452a3b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453ac8
mov ecx, dword [eax]
call dword [ecx + 0x80]
jmp 0x452a51
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453af4
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov edx, dword [ebp - 0xc]
mov eax, 0x453b24
call fcn.00403f34
dec eax
jne 0x452b56
lea eax, [ebp - 0xc]
mov ecx, 7
mov edx, 1
call fcn.00403eec
lea eax, [ebp - 0x18]
call fcn.00403a2c
lea eax, [ebp - 0x1c]
call fcn.00403a2c
mov edx, dword [ebp - 0xc]
mov eax, 0x453b34
call fcn.00403f34
mov ebx, eax
dec ebx
test ebx, ebx
jle 0x452ac4
mov esi, 1
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403bd0
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x18]
call fcn.00403cb0
inc esi
dec ebx
jne 0x452aa0
mov edx, dword [ebp - 0xc]
mov eax, 0x453b34
call fcn.00403f34
mov esi, eax
inc esi
mov eax, dword [ebp - 0xc]
call fcn.00403ca8
mov ebx, eax
sub ebx, esi
jl 0x452b07
inc ebx
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403bd0
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x1c]
call fcn.00403cb0
inc esi
dec ebx
jne 0x452ae3
fild dword [0x45d96c]
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.00451cf4
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
call fcn.00407650
test al, al
je 0x452b40
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453b40
mov ecx, dword [eax]
call dword [ecx + 0x80]
jmp 0x452b56
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453b6c
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0xc]
mov edx, 0x453b9c
call fcn.00403db8
jne 0x452b7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453ba8
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0xc]
mov edx, 0x453bd8
call fcn.00403db8
jne 0x452bcb
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 [0x45bfa8]
mov eax, dword [eax]
call fcn.0042f6a4
jmp 0x452bb4
mov edx, dword [ebp - 0xc]
mov eax, 0x453be8
call fcn.00403f34
dec eax
jne 0x45313c
lea eax, [ebp - 0xc]
mov ecx, 9
mov edx, 1
call fcn.00403eec
mov edx, dword [ebp - 0xc]
mov eax, 0x453bfc
call fcn.00403f34
dec eax
jne 0x452e8e
lea eax, [ebp - 0xc]
mov ecx, 5
mov edx, 1
call fcn.00403eec
mov dl, 1
mov eax, dword [0x43bc94]
call fcn.0043bdc8
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 5
ja case.default.0x452c34
jmp dword [eax*4 + 0x452c3b]
mov edx, 0x80000000
mov eax, dword [ebp - 0x30]
call fcn.0043be5c
jmp case.default.0x452c34
mov edx, 0x80000001
mov eax, dword [ebp - 0x30]
call fcn.0043be5c
jmp case.default.0x452c34
mov edx, 0x80000002
mov eax, dword [ebp - 0x30]
call fcn.0043be5c
jmp case.default.0x452c34
mov edx, 0x80000003
mov eax, dword [ebp - 0x30]
call fcn.0043be5c
jmp case.default.0x452c34
mov edx, 0x80000005
mov eax, dword [ebp - 0x30]
call fcn.0043be5c
jmp case.default.0x452c34
mov edx, 0x80000006
mov eax, dword [ebp - 0x30]
call fcn.0043be5c
lea eax, [ebp - 0xc]
mov ecx, 1
mov edx, 1
call fcn.00403eec
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.00403eec
lea eax, [ebp - 0x24]
call fcn.00403a2c
lea eax, [ebp - 0x28]
call fcn.00403a2c
lea eax, [ebp - 0x2c]
call fcn.00403a2c
mov edx, dword [ebp - 0xc]
mov eax, 0x453c0c
call fcn.00403f34
mov ebx, eax
dec ebx
test ebx, ebx
jle 0x452d2c
mov esi, 1
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403bd0
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x24]
call fcn.00403cb0
inc esi
dec ebx
jne 0x452d08
mov edx, dword [ebp - 0xc]
mov eax, 0x453c0c
call fcn.00403f34
mov esi, eax
add esi, 3
mov eax, dword [ebp - 0xc]
call fcn.00403ca8
mov ebx, eax
sub ebx, esi
jl 0x452d71
inc ebx
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403bd0
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x28]
call fcn.00403cb0
inc esi
dec ebx
jne 0x452d4d
xor ecx, ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
call fcn.0043bfb4
test al, al
jne 0x452dad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453c18
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0x30]
call fcn.0043be2c
mov eax, dword [ebp - 0x30]
call fcn.00402efc
jmp 0x453459
xor eax, eax
push ebp
push 0x452df2
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebp - 0x1d], 0x30
jne 0x452dcf
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
call fcn.0043c288
cmp byte [ebp - 0x1d], 0x31
jne 0x452de8
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
call fcn.0043c314
lea edx, [ebp - 0x2c]
call fcn.00407290
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x452e2c
cmp dword [ebp - 0x2c], 0
je 0x452e68
push 0x453c8c
push dword [ebp - 0x2c]
push 0x453504
lea eax, [ebp - 0x204]
mov edx, 3
call fcn.00403d68
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov ecx, dword [eax]
call dword [ecx + 0x80]
jmp 0x452e7e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453cb0
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0x30]
call fcn.0043be2c
mov eax, dword [ebp - 0x30]
call fcn.00402efc
mov edx, dword [ebp - 0xc]
mov eax, 0x453cec
call fcn.00403f34
dec eax
jne 0x45313c
lea eax, [ebp - 0xc]
mov ecx, 6
mov edx, 1
call fcn.00403eec
mov dl, 1
mov eax, dword [0x43bc94]
call fcn.0043bdc8
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 5
ja case.default.0x452ed1
jmp dword [eax*4 + 0x452ed8]
mov edx, 0x80000000
mov eax, dword [ebp - 0x30]
call fcn.0043be5c
jmp case.default.0x452ed1
mov edx, 0x80000001
mov eax, dword [ebp - 0x30]
call fcn.0043be5c
jmp case.default.0x452ed1
mov edx, 0x80000002
mov eax, dword [ebp - 0x30]
call fcn.0043be5c
jmp case.default.0x452ed1
mov edx, 0x80000003
mov eax, dword [ebp - 0x30]
call fcn.0043be5c
jmp case.default.0x452ed1
mov edx, 0x80000005
mov eax, dword [ebp - 0x30]
call fcn.0043be5c
jmp case.default.0x452ed1
mov edx, 0x80000006
mov eax, dword [ebp - 0x30]
call fcn.0043be5c
lea eax, [ebp - 0xc]
mov ecx, 1
mov edx, 1
call fcn.00403eec
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.00403eec
lea eax, [ebp - 0x24]
call fcn.00403a2c
lea eax, [ebp - 0x28]
call fcn.00403a2c
lea eax, [ebp - 0x2c]
call fcn.00403a2c
mov edx, dword [ebp - 0xc]
mov eax, 0x453c0c
call fcn.00403f34
mov ebx, eax
dec ebx
test ebx, ebx
jle 0x452fc9
mov esi, 1
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403bd0
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x24]
call fcn.00403cb0
inc esi
dec ebx
jne 0x452fa5
mov edx, dword [ebp - 0xc]
mov eax, 0x453c0c
call fcn.00403f34
mov esi, eax
add esi, 3
mov edx, dword [ebp - 0xc]
mov eax, 0x453cfc
call fcn.00403f34
mov ebx, eax
dec ebx
sub ebx, esi
jl 0x453014
inc ebx
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403bd0
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x28]
call fcn.00403cb0
inc esi
dec ebx
jne 0x452ff0
mov edx, dword [ebp - 0xc]
mov eax, 0x453cfc
call fcn.00403f34
mov esi, eax
add esi, 3
mov eax, dword [ebp - 0xc]
call fcn.00403ca8
mov ebx, eax
sub ebx, esi
jl 0x453059
inc ebx
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403bd0
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x2c]
call fcn.00403cb0
inc esi
dec ebx
jne 0x453035
xor ecx, ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
call fcn.0043bfb4
test al, al
jne 0x453095
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453c18
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0x30]
call fcn.0043be2c
mov eax, dword [ebp - 0x30]
call fcn.00402efc
jmp 0x453459
xor eax, eax
push ebp
push 0x4530dc
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebp - 0x1d], 0x30
jne 0x4530b7
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
call fcn.0043c25c
cmp byte [ebp - 0x1d], 0x31
jne 0x4530d2
mov eax, dword [ebp - 0x2c]
call fcn.004072fc
mov ecx, eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
call fcn.0043c300
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x453116
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453d44
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0x30]
call fcn.0043be2c
mov eax, dword [ebp - 0x30]
call fcn.00402efc
mov edx, dword [ebp - 0xc]
mov eax, 0x453d7c
call fcn.00403f34
dec eax
jne 0x453459
lea eax, [ebp - 0xc]
mov ecx, 8
mov edx, 1
call fcn.00403eec
mov edx, dword [ebp - 0xc]
mov eax, 0x453d90
call fcn.00403f34
dec eax
jne 0x45331f
lea eax, [ebp - 0xc]
mov ecx, 8
mov edx, 1
call fcn.00403eec
xor eax, eax
push ebp
push 0x4531ae
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 0x4531d8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453de4
mov ecx, dword [eax]
call dword [ecx + 0x80]
lea eax, [ebp - 0x34]
call fcn.00403a2c
mov edx, dword [ebp - 0xc]
mov eax, 0x453b34
call fcn.00403f34
mov ebx, eax
dec ebx
test ebx, ebx
jle 0x453233
mov esi, 1
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx + esi - 1]
call fcn.00403bd0
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x34]
call fcn.00403cb0
inc esi
dec ebx
jne 0x45320f
xor eax, eax
push ebp
push 0x45325c
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.00439c90
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x453286
mov edx, dword [ebp - 0xc]
mov eax, 0x453b34
call fcn.00403f34
mov ecx, eax
lea eax, [ebp - 0xc]
mov edx, 1
call fcn.00403eec
xor eax, eax
push ebp
push 0x4532cb
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.00439a0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4532f5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453eac
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, 0x453ef0
call fcn.00403db8
jne 0x453394
xor eax, eax
push ebp
push 0x453354
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 0x45337e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453de4
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov edx, dword [ebp - 0xc]
mov eax, 0x453f00
call fcn.00403f34
dec eax
jne 0x453459
lea eax, [ebp - 0xc]
mov ecx, 5
mov edx, 1
call fcn.00403eec
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x1e8]
cmp byte [ebx + 0x58], 4
jne 0x453443
xor eax, eax
push ebp
push 0x453404
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x204]
mov ecx, 0x453504
mov edx, dword [ebp - 0xc]
call fcn.00403cf4
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 0x45342b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453f50
mov ecx, dword [eax]
call dword [ecx + 0x80]
jmp 0x453459
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
mov edx, 0x453f8c
mov ecx, dword [eax]
call dword [ecx + 0x80]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4534ad
lea eax, [ebp - 0x208]
mov edx, 2
call fcn.00403a50
lea eax, [ebp - 0x34]
call fcn.00403a2c
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00403a50
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00403a50
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00403a50
ret