Function at 0x45bf14
Capabilities:
Self delete
Terminate process
Terminate thread

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x20
push 0
push 0
dec ecx
jne 0x45bf1c
push ecx
push ebx
push esi
xor eax, eax
push ebp
push 0x45d1ba
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x45bd20
call fcn.00432e94
mov byte [0x465104], 1
mov eax, dword [0x463c4c]
cmp dword [eax], 0
jne 0x45bf54
call fcn.0045be48
lea edx, [ebp - 0x24]
xor eax, eax
call fcn.0043333c
push dword [ebp - 0x24]
push 0x45d1d4
lea eax, [ebp - 0x28]
call fcn.0042fb7c
push dword [ebp - 0x28]
push 0x45d1d4
call sub.kernel32.dll_GetTickCount_1
mov ecx, 0x3e8
xor edx, edx
div ecx
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x2c]
call fcn.00408610
push dword [ebp - 0x2c]
push 0x45d1d4
lea eax, [ebp - 0x30]
call fcn.00430338
push dword [ebp - 0x30]
push 0x45d1d4
mov eax, dword [0x4639ec]
push dword [eax]
push 0x45d1e0
lea eax, [ebp - 0x18]
mov edx, 0xa
call fcn.00404788
lea ecx, [ebp - 0x10]
mov dx, 0x3e8
mov eax, dword [ebp - 0x18]
call fcn.00435458
cmp dword [ebp - 0x10], 0
je 0x45bfe7
mov edx, dword [ebp - 0x10]
mov eax, 0x45d1ec
call fcn.004049b0
test eax, eax
jle 0x45c008
xor eax, eax
mov dword [0x465100], eax
call fcn.0045be48
lea ecx, [ebp - 0x10]
mov dx, 0x3e8
mov eax, dword [ebp - 0x18]
call fcn.00435458
cmp dword [ebp - 0x10], 0
je 0x45bfee
lea eax, [ebp - 0x10]
call fcn.0043539c
mov ebx, eax
cmp bx, 0x3e8
jne 0x45c097
cmp byte [0x465104], 0
je 0x45bf45
mov edx, dword [ebp - 0x10]
mov eax, 0x45d1d4
call fcn.004049b0
test eax, eax
jle 0x45bf45
lea ecx, [ebp - 0x20]
mov edx, 0x45d1d4
mov eax, dword [ebp - 0x10]
call fcn.00431538
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.004329cc
test al, al
je 0x45bf45
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 4]
call fcn.004329cc
test al, al
je 0x45bf45
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 4]
call fcn.00408660
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.00408660
pop edx
call fcn.0040dc98
push eax
call sub.kernel32.dll_Sleep
jmp 0x45bf45
cmp bx, 0x457
jne 0x45c0ab
mov eax, dword [ebp - 0x10]
call fcn.00435780
jmp 0x45bf45
cmp bx, 0x456
jne 0x45c0ce
mov eax, dword [0x463980]
mov edx, dword [ebp - 0x10]
call fcn.00404440
mov eax, 0x4358a4
call fcn.00432e94
jmp 0x45bf45
cmp bx, 0x429
jne 0x45c0f1
mov eax, dword [0x463930]
mov edx, dword [ebp - 0x10]
call fcn.00404440
mov eax, 0x458de0
call fcn.00432e94
jmp 0x45bf45
cmp bx, 0x44f
jne 0x45c105
mov eax, dword [ebp - 0x10]
call fcn.00453c48
jmp 0x45bf45
cmp bx, 0x44e
jne 0x45c12e
mov eax, dword [0x463b8c]
cmp dword [eax], 0
jbe 0x45bf45
push 0
mov eax, dword [0x463b8c]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_TerminateThread
jmp 0x45bf45
cmp bx, 0x454
jne 0x45c142
mov eax, dword [ebp - 0x10]
call fcn.00436680
jmp 0x45bf45
cmp bx, 0x450
jne 0x45c156
mov eax, dword [ebp - 0x10]
call fcn.00436820
jmp 0x45bf45
cmp bx, 0x449
jne 0x45c16a
mov eax, dword [ebp - 0x10]
call fcn.004364d4
jmp 0x45bf45
cmp bx, 0x444
jne 0x45c1a5
cmp dword [0x4650fc], 0
jbe 0x45c184
mov eax, dword [0x4650fc]
call fcn.004329a0
push 0
push 1
lea eax, [ebp - 0x10]
call fcn.00404920
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00427eb4
mov dword [0x4650fc], eax
jmp 0x45bf45
cmp bx, 0x418
jne 0x45c1d2
mov eax, dword [ebp - 0x10]
call fcn.004329cc
test al, al
je 0x45bf45
mov eax, dword [ebp - 0x10]
call fcn.00408660
mov edx, dword [0x463a18]
mov word [edx], ax
jmp 0x45bf45
cmp bx, 0x442
jne 0x45c203
mov eax, dword [0x4638b8]
cmp byte [eax], 0
je 0x45bf45
push 0
push 1
lea eax, [ebp - 0x10]
call fcn.00404920
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00427eb4
jmp 0x45bf45
cmp bx, 0x441
jne 0x45c42b
lea ecx, [ebp - 0x34]
mov eax, dword [0x463944]
mov eax, dword [eax]
mov edx, 0x45d1f8
call fcn.0041635c
mov eax, dword [ebp - 0x34]
call fcn.00434bec
test al, al
je 0x45bf45
lea eax, [ebp - 0x38]
call fcn.00430338
mov eax, dword [ebp - 0x38]
mov edx, 0x45d204
call fcn.00404814
je 0x45bf45
lea edx, [ebp - 0x3c]
mov eax, 4
call fcn.00432bb8
mov eax, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x40]
call fcn.00433418
lea eax, [ebp - 0x40]
mov edx, 0x45d210
call fcn.004046d0
mov eax, dword [ebp - 0x40]
pop edx
call fcn.00432ac0
lea ecx, [ebp - 0x44]
mov eax, dword [0x463944]
mov eax, dword [eax]
mov edx, 0x45d220
call fcn.0041635c
mov eax, dword [ebp - 0x44]
call fcn.00434bec
test al, al
je 0x45c327
lea eax, [ebp - 0x48]
call fcn.00433418
lea eax, [ebp - 0x48]
mov edx, 0x45d22c
call fcn.004046d0
mov eax, dword [ebp - 0x48]
push eax
mov edx, dword [0x463abc]
mov edx, dword [edx]
lea eax, [ebp - 0x4c]
mov ecx, 0x45d22c
call fcn.00404714
mov eax, dword [ebp - 0x4c]
pop edx
call fcn.00430f00
mov eax, dword [0x463abc]
push dword [eax]
lea edx, [ebp - 0x54]
mov eax, 0x45d244
call fcn.00433624
push dword [ebp - 0x54]
push 0x45d250
lea eax, [ebp - 0x50]
mov edx, 3
call fcn.00404788
mov eax, dword [ebp - 0x50]
push eax
lea eax, [ebp - 0x58]
call fcn.00433418
lea eax, [ebp - 0x58]
mov edx, 0x45d260
call fcn.004046d0
mov edx, dword [ebp - 0x58]
pop eax
call fcn.00430f00
jmp 0x45c3a9
lea eax, [ebp - 0x5c]
call fcn.00433418
lea eax, [ebp - 0x5c]
mov edx, 0x45d274
call fcn.004046d0
mov eax, dword [ebp - 0x5c]
push eax
mov edx, dword [0x463abc]
mov edx, dword [edx]
lea eax, [ebp - 0x60]
mov ecx, 0x45d274
call fcn.00404714
mov eax, dword [ebp - 0x60]
pop edx
call fcn.00430f00
mov eax, dword [0x463abc]
push dword [eax]
lea edx, [ebp - 0x68]
mov eax, 0x45d244
call fcn.00433624
push dword [ebp - 0x68]
push 0x45d288
lea eax, [ebp - 0x64]
mov edx, 3
call fcn.00404788
mov eax, dword [ebp - 0x64]
push eax
lea eax, [ebp - 0x6c]
call fcn.00433418
lea eax, [ebp - 0x6c]
mov edx, 0x45d298
call fcn.004046d0
mov edx, dword [ebp - 0x6c]
pop eax
call fcn.00430f00
lea eax, [ebp - 0x70]
call fcn.00433418
lea eax, [ebp - 0x70]
mov edx, 0x45d2ac
call fcn.004046d0
mov eax, dword [ebp - 0x70]
push eax
mov edx, dword [0x463abc]
mov edx, dword [edx]
lea eax, [ebp - 0x74]
mov ecx, 0x45d2ac
call fcn.00404714
mov eax, dword [ebp - 0x74]
pop edx
call fcn.00430f00
push 0
push 1
lea eax, [ebp - 0x10]
call fcn.00404920
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00427eb4
push 0xbb8
call sub.kernel32.dll_Sleep
push 0
push 1
lea eax, [ebp - 0x10]
call fcn.00404920
push eax
lea eax, [ebp - 0x78]
call fcn.00428e94
mov eax, dword [ebp - 0x78]
xor edx, edx
pop ecx
call fcn.00427eb4
call fcn.004336bc
jmp 0x45bf45
cmp bx, 0x440
jne 0x45c479
mov edx, dword [ebp - 0x10]
mov eax, 0x45d2c0
call fcn.004049b0
test eax, eax
jle 0x45bf45
mov edx, 0x45d2c0
lea ecx, [ebp - 0x20]
mov eax, dword [ebp - 0x10]
call fcn.00431538
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
call fcn.00408660
mov ecx, eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.00430d18
jmp 0x45bf45
cmp bx, 0x43c
jne 0x45c48a
call fcn.0042cf00
jmp 0x45bf45
cmp bx, 0x43b
jne 0x45c49b
call fcn.0042cf40
jmp 0x45bf45
cmp bx, 0x43a
jne 0x45c4ac
call fcn.0042cfa4
jmp 0x45bf45
cmp bx, 0x439
jne 0x45c4bf
xor eax, eax
call fcn.0042cfe8
jmp 0x45bf45
cmp bx, 0x437
jne 0x45c4d5
mov eax, 0x458224
call fcn.00432e94
jmp 0x45bf45
cmp bx, 0x438
jne 0x45c4eb
mov eax, 0x457d6c
call fcn.00432e94
jmp 0x45bf45
cmp bx, 0x435
jne 0x45c507
mov eax, dword [0x463958]
mov byte [eax], 0
mov eax, dword [0x463b28]
mov byte [eax], 0
jmp 0x45bf45
cmp bx, 0x434
jne 0x45c51b
mov eax, dword [0x463958]
mov byte [eax], 0
jmp 0x45bf45
cmp bx, 0x431
jne 0x45c53f
mov eax, dword [0x463958]
cmp byte [eax], 0
jne 0x45bf45
mov eax, 0x459574
call fcn.00432e94
jmp 0x45bf45
cmp bx, 0x433
jne 0x45c553
mov eax, dword [0x463b28]
mov byte [eax], 0
jmp 0x45bf45
cmp bx, 0x432
jne 0x45c573
lea eax, [ebp - 0x7c]
call fcn.00459410
mov eax, dword [ebp - 0x7c]
mov dx, 0x432
call fcn.004355d0
jmp 0x45bf45
cmp bx, 0x430
jne 0x45c5b7
mov eax, dword [ebp - 0x10]
call fcn.004329cc
test al, al
je 0x45bf45
mov eax, dword [0x463b28]
cmp byte [eax], 0
jne 0x45bf45
mov eax, dword [ebp - 0x10]
call fcn.00408660
mov edx, dword [0x46379c]
mov dword [edx], eax
mov eax, 0x4596a0
call fcn.00432e94
jmp 0x45bf45
cmp bx, 0x42f
jne 0x45c5d7
lea eax, [ebp - 0x80]
call fcn.00459798
mov eax, dword [ebp - 0x80]
mov dx, 0x42f
call fcn.004355d0
jmp 0x45bf45
cmp bx, 0x42e
jne 0x45c5fa
mov eax, dword [0x463b20]
mov edx, dword [ebp - 0x10]
call fcn.00404440
mov eax, 0x458cd0
call fcn.00432e94
jmp 0x45bf45
cmp bx, 0x42b
jne 0x45c63e
lea eax, [ebp - 0x84]
call fcn.00430338
mov eax, dword [ebp - 0x84]
mov edx, 0x45d204
call fcn.00404814
jne 0x45bf45
mov eax, dword [0x463afc]
mov edx, dword [ebp - 0x10]
call fcn.00404440
mov eax, 0x45b9c8
call fcn.00432e94
jmp 0x45bf45
cmp bx, 0x3eb
jne 0x45c662
lea eax, [ebp - 0x88]
call fcn.0042fff4
mov eax, dword [ebp - 0x88]
mov edx, ebx
call fcn.004355d0
jmp 0x45bf45
cmp bx, 0x42a
jne 0x45c6e0
mov dl, 1
mov eax, 0x45d2d4
call fcn.00432850
lea eax, [ebp - 0x90]
call fcn.00428e94
mov eax, dword [ebp - 0x90]
lea edx, [ebp - 0x8c]
call fcn.00408c04
mov eax, dword [ebp - 0x8c]
mov dl, 1
call fcn.00432850
push 0x45d2e4
mov eax, dword [0x463abc]
push dword [eax]
push 0x45d328
mov eax, dword [0x463abc]
push dword [eax]
lea eax, [ebp - 0x94]
mov edx, 4
call fcn.00404788
mov edx, dword [ebp - 0x94]
mov eax, 0x45d340
call fcn.0043128c
call fcn.004336bc
jmp 0x45bf45
cmp bx, 0x428
jne 0x45c73c
mov edx, 0x45d2c0
lea ecx, [ebp - 0x20]
mov eax, dword [ebp - 0x10]
call fcn.00431538
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.004329cc
test al, al
je 0x45bf45
push 0
lea edx, [ebp - 0x98]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 4]
call fcn.00429cc4
mov eax, dword [ebp - 0x98]
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.00408660
mov ecx, eax
xor eax, eax
pop edx
call fcn.0042d0bc
jmp 0x45bf45
cmp bx, 0x427
jne 0x45c76c
mov edx, 0x45d2c0
lea ecx, [ebp - 0x20]
mov eax, dword [ebp - 0x10]
call fcn.00431538
push 1
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0042d0bc
jmp 0x45bf45
cmp bx, 0x426
jne 0x45c7b5
mov edx, 0x45d2c0
lea ecx, [ebp - 0x20]
mov eax, dword [ebp - 0x10]
call fcn.00431538
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.004329cc
test al, al
je 0x45bf45
push 0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.00408660
mov ecx, eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
xor eax, eax
call fcn.0042d0bc
jmp 0x45bf45
cmp bx, 0x425
jne 0x45c7e1
mov edx, 0x45d2c0
lea ecx, [ebp - 0x20]
mov eax, dword [ebp - 0x10]
call fcn.00431538
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.0042a0c0
jmp 0x45bf45
cmp bx, 0x443
jne 0x45c857
mov edx, 0x45d2c0
lea ecx, [ebp - 0x20]
mov eax, dword [ebp - 0x10]
call fcn.00431538
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + 4]
call fcn.00404484
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.004081a4
push 0
push 1
lea eax, [ebp - 0x10]
call fcn.00404920
push eax
push 0x45d350
push dword [ebp - 0x14]
push 0x45d35c
mov eax, dword [ebp - 0x20]
push dword [eax + 8]
lea eax, [ebp - 0x9c]
mov edx, 4
call fcn.00404788
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x14]
pop ecx
call fcn.00427eb4
jmp 0x45bf45
cmp bx, 0x424
jne 0x45c8a6
mov edx, 0x45d2c0
lea ecx, [ebp - 0x20]
mov eax, dword [ebp - 0x10]
call fcn.00431538
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + 4]
call fcn.00404484
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.004081a4
push 0
push 1
lea eax, [ebp - 0x10]
call fcn.00404920
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x14]
call fcn.00427eb4
jmp 0x45bf45
cmp bx, 0x423
jne 0x45c8bf
mov eax, dword [ebp - 0x10]
call fcn.00408660
call fcn.004329a0
jmp 0x45bf45
cmp bx, 0x422
jne 0x45c8ec
mov byte [0x465104], 0
lea eax, [ebp - 0xa0]
call fcn.004293c0
mov eax, dword [ebp - 0xa0]
mov dx, 0x422
call fcn.004355d0
jmp 0x45bf45
cmp bx, 0x41b
jne 0x45c925
push 0
mov eax, dword [0x463b30]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_TerminateThread
push 0
mov eax, dword [0x463800]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_TerminateThread
push 0
mov eax, dword [0x463b48]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_TerminateProcess
jmp 0x45bf45
cmp bx, 0x41a
jne 0x45c93e
mov eax, dword [0x463a64]
mov edx, dword [ebp - 0x10]
call fcn.00404440
jmp 0x45bf45
cmp bx, 0x445
jne 0x45c980
mov eax, dword [0x463c78]
mov edx, 0x45d340
call fcn.00404440
mov byte [0x465104], 0
mov dx, 0x419
mov eax, 0x45d368
call fcn.004355d0
mov eax, 0x459bec
call fcn.00432e94
mov edx, dword [0x463800]
mov dword [edx], eax
jmp 0x45bf45
cmp bx, 0x419
jne 0x45c9c2
mov eax, dword [0x463c78]
mov edx, 0x45d374
call fcn.00404440
mov byte [0x465104], 0
mov dx, 0x419
mov eax, 0x45d368
call fcn.004355d0
mov eax, 0x459bec
call fcn.00432e94
mov edx, dword [0x463800]
mov dword [edx], eax
jmp 0x45bf45
cmp bx, 0x413
jne 0x45ca37
mov edx, dword [ebp - 0x10]
mov eax, 0x45d1d4
call fcn.004049b0
test eax, eax
je 0x45bf45
lea ecx, [ebp - 0x20]
mov edx, 0x45d1d4
mov eax, dword [ebp - 0x10]
call fcn.00431538
lea ecx, [ebp - 0xa8]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov ax, 0x46
call fcn.0045319c
push dword [ebp - 0xa8]
push 0x45d2c0
mov eax, dword [ebp - 0x20]
push dword [eax + 4]
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.00404788
mov eax, dword [ebp - 0xa4]
mov dx, 0x413
call fcn.004355d0
jmp 0x45bf45
cmp bx, 0x42d
jne 0x45cac9
mov dl, 1
mov eax, dword [0x4149d4]
call fcn.00403680
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 2
jl 0x45bf45
lea ecx, [ebp - 0xac]
mov edx, 0x45d38c
mov eax, dword [ebp - 4]
call fcn.0041635c
mov edx, dword [ebp - 0xac]
mov eax, dword [0x4637f8]
mov eax, dword [eax]
call fcn.00416b8c
lea ecx, [ebp - 0xb0]
mov edx, 0x45d39c
mov eax, dword [ebp - 4]
call fcn.0041635c
mov edx, dword [ebp - 0xb0]
mov eax, dword [0x463b38]
mov eax, dword [eax]
call fcn.00416b8c
mov eax, dword [ebp - 4]
call fcn.004036b0
call fcn.00434d30
jmp 0x45bf45
cmp bx, 0x446
jne 0x45cae4
mov eax, dword [ebp - 0x10]
call fcn.004048c8
mov dl, 1
call fcn.00436dd4
jmp 0x45bf45
cmp bx, 0x415
jne 0x45cb36
mov edx, dword [ebp - 0x10]
mov eax, 0x45d1d4
call fcn.004049b0
test eax, eax
je 0x45bf45
lea ecx, [ebp - 0x20]
mov edx, 0x45d1d4
mov eax, dword [ebp - 0x10]
call fcn.00431538
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 4]
call fcn.00408660
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.00408660
push eax
call sub.user32.dll_SetCursorPos
call fcn.00452dfc
jmp 0x45bf45
cmp bx, 0x414
jne 0x45cb94
mov edx, dword [ebp - 0x10]
mov eax, 0x45d1d4
call fcn.004049b0
test eax, eax
je 0x45bf45
lea ecx, [ebp - 0x20]
mov edx, 0x45d1d4
mov eax, dword [ebp - 0x10]
call fcn.00431538
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 4]
call fcn.00408660
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.00408660
push eax
call sub.user32.dll_SetCursorPos
call fcn.00452dfc
push 0x64
call sub.kernel32.dll_Sleep
call fcn.00452dfc
jmp 0x45bf45
cmp bx, 0x416
jne 0x45cbe6
mov edx, dword [ebp - 0x10]
mov eax, 0x45d1d4
call fcn.004049b0
test eax, eax
je 0x45bf45
lea ecx, [ebp - 0x20]
mov edx, 0x45d1d4
mov eax, dword [ebp - 0x10]
call fcn.00431538
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 4]
call fcn.00408660
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.00408660
push eax
call sub.user32.dll_SetCursorPos
call fcn.00452ddc
jmp 0x45bf45
cmp bx, 0x421
jne 0x45cc74
mov eax, 0x45d2c0
mov edx, dword [ebp - 0x10]
call fcn.004049b0
test eax, eax
je 0x45bf45
mov edx, 0x45d2c0
lea ecx, [ebp - 0x20]
mov eax, dword [ebp - 0x10]
call fcn.00431538
lea eax, [ebp - 0xb4]
call fcn.00433450
lea eax, [ebp - 0xb4]
mov edx, dword [ebp - 0x20]
mov edx, dword [edx]
call fcn.004046d0
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + 4]
call fcn.00432ac0
lea eax, [ebp - 0xb8]
call fcn.00433450
lea eax, [ebp - 0xb8]
mov edx, dword [ebp - 0x20]
mov edx, dword [edx]
call fcn.004046d0
mov eax, dword [ebp - 0xb8]
xor ecx, ecx
mov edx, 5
call fcn.00431474
jmp 0x45bf45
cmp bx, 0x420
jne 0x45cc88
mov eax, dword [ebp - 0x10]
call fcn.00427a00
jmp 0x45bf45
cmp bx, 0x41f
jne 0x45cc9c
mov eax, dword [ebp - 0x10]
call fcn.004290b0
jmp 0x45bf45
cmp bx, 0x40f
jne 0x45cd08
mov eax, dword [0x463b90]
call fcn.004043ec
mov eax, dword [0x463bc8]
cmp dword [eax], 0
jne 0x45ccd3
mov eax, dword [0x463c90]
mov byte [eax], 1
mov dl, 1
mov eax, dword [0x4149d4]
call fcn.00403680
mov edx, dword [0x463bc8]
mov dword [edx], eax
mov edx, dword [0x463bc8]
mov edx, dword [edx]
mov eax, dword [ebp - 0x10]
call fcn.00452d20
test al, al
je 0x45bf45
mov eax, dword [0x463c90]
cmp byte [eax], 0
je 0x45bf45
mov eax, 0x4532d8
call fcn.00432e94
jmp 0x45bf45
cmp bx, 0x412
jne 0x45cd21
mov eax, dword [0x463b90]
mov edx, dword [ebp - 0x10]
call fcn.00404440
jmp 0x45bf45
cmp bx, 0x40e
jne 0x45cd6e
mov byte [0x465104], 0
mov dl, 1
mov eax, dword [0x4149d4]
call fcn.00403680
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
call fcn.0043f838
lea edx, [ebp - 0xbc]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0xbc]
mov edx, ebx
call fcn.004355d0
mov eax, dword [ebp - 8]
call fcn.004036b0
jmp 0x45bf45
cmp bx, 0x3ec
jne 0x45cd87
or edx, 0xffffffff
mov eax, 0x45d3b4
call fcn.00432eac
jmp 0x45bf45
cmp bx, 0x40a
jne 0x45cdb2
mov eax, dword [0x463a20]
mov byte [eax], 0
mov eax, dword [0x463af8]
mov edx, dword [ebp - 0x10]
call fcn.00404440
mov eax, 0x45a2c4
call fcn.00432e94
jmp 0x45bf45
cmp bx, 0x41c
jne 0x45cdd8
lea eax, [ebp - 0xc0]
call fcn.0042a6b8
mov eax, dword [ebp - 0xc0]
mov dx, 0x41c
call fcn.004355d0
jmp 0x45bf45
cmp bx, 0x3fe
jne 0x45cdec
mov eax, dword [0x463a20]
mov byte [eax], 1
jmp 0x45bf45
cmp bx, 0x403
jne 0x45ce0a
mov eax, dword [0x463a20]
mov byte [eax], 0
mov eax, 0x45a438
call fcn.00432e94
jmp 0x45bf45
cmp bx, 0x3fc
je 0x45ce18
cmp bx, 0x3fd
jne 0x45ce44
mov eax, dword [0x463a20]
mov byte [eax], 0
mov eax, dword [0x4638d8]
mov word [eax], bx
mov eax, dword [0x463914]
mov edx, dword [ebp - 0x10]
call fcn.00404440
mov eax, 0x45aaec
call fcn.00432e94
jmp 0x45bf45
cmp bx, 0x3ff
jne 0x45cebc
mov dl, 1
mov eax, dword [0x4149d4]
call fcn.00403680
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x45ceaf
inc esi
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0xc8]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc8]
lea edx, [ebp - 0xc4]
call fcn.0043319c
mov eax, dword [ebp - 0xc4]
call fcn.0042cbf8
inc dword [ebp - 0x1c]
dec esi
jne 0x45ce7c
mov eax, dword [ebp - 0xc]
call fcn.004036b0
jmp 0x45bf45
cmp bx, 0x406
jne 0x45ced5
mov edx, 5
mov eax, dword [ebp - 0x10]
call fcn.004313c4
jmp 0x45bf45
cmp bx, 0x402
jne 0x45cee9
mov eax, dword [ebp - 0x10]
call fcn.0045a5f0
jmp 0x45bf45
cmp bx, 0x44b
jne 0x45cf4d
lea eax, [ebp - 0xd4]
mov edx, dword [ebp - 0x10]
call fcn.00404c0c
mov eax, dword [ebp - 0xd4]
lea edx, [ebp - 0xd0]
call fcn.0045b740
push dword [ebp - 0xd0]
push 0x45d2c0
lea eax, [ebp - 0xd8]
call fcn.0045b824
push dword [ebp - 0xd8]
lea eax, [ebp - 0xcc]
mov edx, 3
call fcn.00404788
mov eax, dword [ebp - 0xcc]
mov edx, ebx
call fcn.004355d0
jmp 0x45bf45
cmp bx, 0x3f2
jne 0x45cf85
lea eax, [ebp - 0xe0]
mov edx, dword [ebp - 0x10]
call fcn.00404c0c
mov eax, dword [ebp - 0xe0]
lea edx, [ebp - 0xdc]
call fcn.0045b740
mov eax, dword [ebp - 0xdc]
mov edx, ebx
call fcn.004355d0
jmp 0x45bf45
cmp bx, 0x3f0
je 0x45cf93
cmp bx, 0x3f3
jne 0x45cfbf
mov eax, dword [0x463a20]
mov byte [eax], 0
mov eax, dword [0x463ac8]
mov word [eax], bx
mov eax, dword [0x463af4]
mov edx, dword [ebp - 0x10]
call fcn.00404440
mov eax, 0x45a378
call fcn.00432e94
jmp 0x45bf45
cmp bx, 0x3ef
jne 0x45d094
mov byte [0x465104], 0
lea eax, [ebp - 0xe8]
call fcn.0045b824
push dword [ebp - 0xe8]
push 0x45d2c0
lea edx, [ebp - 0xec]
mov eax, 0x45d3c4
call fcn.0045b180
push dword [ebp - 0xec]
push 0x45d2c0
lea eax, [ebp - 0xf0]
call fcn.0042cb08
push dword [ebp - 0xf0]
push 0x45d2c0
lea eax, [ebp - 0xf4]
call fcn.0042cddc
push dword [ebp - 0xf4]
push 0x45d2c0
lea eax, [ebp - 0xf8]
call fcn.00432dd0
push dword [ebp - 0xf8]
push 0x45d2c0
lea eax, [ebp - 0xfc]
call fcn.00432d08
push dword [ebp - 0xfc]
push 0x45d2c0
lea eax, [ebp - 0x100]
call fcn.00432054
push dword [ebp - 0x100]
push 0x45d2c0
lea eax, [ebp - 0xe4]
mov edx, 0xe
call fcn.00404788
mov eax, dword [ebp - 0xe4]
mov dx, 0x3ef
call fcn.004355d0
jmp 0x45bf45
cmp bx, 0x44a
jne 0x45d0d5
mov eax, 0x45d2c0
mov edx, dword [ebp - 0x10]
call fcn.004049b0
test eax, eax
jle 0x45bf45
mov edx, 0x45d2c0
lea ecx, [ebp - 0x20]
mov eax, dword [ebp - 0x10]
call fcn.00431538
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.00458e9c
jmp 0x45bf45
cmp bx, 0x43e
jne 0x45bf45
mov dl, 1
mov eax, dword [0x4149d4]
call fcn.00403680
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00457ad4
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x45d123
lea edx, [ebp - 0x104]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x104]
mov dx, 0x43e
call fcn.004355d0
mov eax, dword [ebp - 8]
call fcn.004036b0
jmp 0x45bf45