Function at 0x5175d8
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Create process on windows
Get number of processors
Get process heap flags
Get process heap force flags
Resolve function by parsing pe exports
Self delete
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xc
push 0
push 0
dec ecx
jne 0x5175e0
push ecx
push ebx
push esi
push edi
mov eax, 0x517138
call fcn.00407164
mov ebx, dword [0x535cd8]
xor eax, eax
push ebp
push 0x51894c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, dword [0x535d20]
mov dword [eax], 0x1e
mov eax, ebx
mov edx, 0x518964
call fcn.00403e78
lea eax, [ebx + 4]
mov edx, 0x51897c
call fcn.00403e78
lea eax, [ebx + 8]
mov edx, 0x51899c
call fcn.00403e78
lea eax, [ebx + 0xc]
mov edx, 0x5189ac
call fcn.00403e78
lea eax, [ebx + 0x10]
mov edx, 0x5189c4
call fcn.00403e78
lea eax, [ebx + 0x14]
mov edx, 0x5189e0
call fcn.00403e78
lea eax, [ebx + 0x18]
mov edx, 0x5189fc
call fcn.00403e78
lea eax, [ebx + 0x1c]
mov edx, 0x518a1c
call fcn.00403e78
lea eax, [ebx + 0x20]
mov edx, 0x518a40
call fcn.00403e78
lea eax, [ebx + 0x24]
mov edx, 0x518a54
call fcn.00403e78
lea eax, [ebx + 0x28]
mov edx, 0x518a88
call fcn.00403e78
lea eax, [ebx + 0x2c]
mov edx, 0x518aa4
call fcn.00403e78
lea eax, [ebx + 0x30]
mov edx, 0x518abc
call fcn.00403e78
lea eax, [ebx + 0x34]
mov edx, 0x518adc
call fcn.00403e78
lea eax, [ebx + 0x38]
mov edx, 0x518b0c
call fcn.00403e78
lea eax, [ebx + 0x3c]
mov edx, 0x518b60
call fcn.00403e78
lea eax, [ebx + 0x40]
mov edx, 0x518b74
call fcn.00403e78
lea eax, [ebx + 0x44]
mov edx, 0x518b88
call fcn.00403e78
lea eax, [ebx + 0x48]
mov edx, 0x518bc4
call fcn.00403e78
lea eax, [ebx + 0x4c]
mov edx, 0x518bfc
call fcn.00403e78
lea eax, [ebx + 0x50]
mov edx, 0x518c10
call fcn.00403e78
lea eax, [ebx + 0x200]
mov edx, 0x518c58
call fcn.00403e78
lea eax, [ebx + 0x54]
mov edx, 0x518cc4
call fcn.00403e78
lea eax, [ebx + 0x58]
mov edx, 0x518cd4
call fcn.00403e78
lea eax, [ebx + 0x5c]
mov edx, 0x518d1c
call fcn.00403e78
lea eax, [ebx + 0x60]
mov edx, 0x518d30
call fcn.00403e78
lea eax, [ebx + 0x64]
mov edx, 0x518d54
call fcn.00403e78
lea eax, [ebx + 0x68]
mov edx, 0x518d78
call fcn.00403e78
lea eax, [ebx + 0x204]
mov edx, 0x518db4
call fcn.00403e78
lea eax, [ebx + 0x6c]
mov edx, 0x518dc4
call fcn.00403e78
lea eax, [ebx + 0x70]
mov edx, 0x518e0c
call fcn.00403e78
lea eax, [ebx + 0x74]
mov edx, 0x518e20
call fcn.00403e78
lea eax, [ebx + 0x78]
mov edx, 0x518e40
call fcn.00403e78
lea eax, [ebx + 0x7c]
mov edx, 0x518e60
call fcn.00403e78
lea eax, [ebx + 0x80]
mov edx, 0x518e80
call fcn.00403e78
lea eax, [ebx + 0x84]
mov edx, 0x518e94
call fcn.00403e78
lea eax, [ebx + 0x88]
mov edx, 0x518ea8
call fcn.00403e78
lea eax, [ebx + 0x8c]
mov edx, 0x518ebc
call fcn.00403e78
lea eax, [ebx + 0x90]
mov edx, 0x518ed8
call fcn.00403e78
lea eax, [ebx + 0x94]
mov edx, 0x518ef0
call fcn.00403e78
lea eax, [ebx + 0x98]
mov edx, 0x518f10
call fcn.00403e78
lea eax, [ebx + 0x9c]
mov edx, 0x518f2c
call fcn.00403e78
lea eax, [ebx + 0xa0]
mov edx, 0x518f60
call fcn.00403e78
lea eax, [ebx + 0xa4]
mov edx, 0x518f80
call fcn.00403e78
lea eax, [ebx + 0xa8]
mov edx, 0x518f94
call fcn.00403e78
lea eax, [ebx + 0xac]
mov edx, 0x518fb8
call fcn.00403e78
lea eax, [ebx + 0xb0]
mov edx, 0x518fdc
call fcn.00403e78
lea eax, [ebx + 0x20c]
mov edx, 0x519064
call fcn.00403e78
lea eax, [ebx + 0x210]
mov edx, 0x519074
call fcn.00403e78
lea eax, [ebx + 0xb4]
mov edx, 0x5190c8
call fcn.00403e78
lea eax, [ebx + 0xb8]
mov edx, 0x519118
call fcn.00403e78
lea eax, [ebx + 0xbc]
mov edx, 0x51913c
call fcn.00403e78
lea eax, [ebx + 0xc0]
mov edx, 0x519184
call fcn.00403e78
lea eax, [ebx + 0xc4]
mov edx, 0x5191a4
call fcn.00403e78
lea eax, [ebx + 0xc8]
mov edx, 0x5191c4
call fcn.00403e78
lea eax, [ebx + 0xcc]
mov edx, 0x5191f8
call fcn.00403e78
lea eax, [ebx + 0xd0]
mov edx, 0x519214
call fcn.00403e78
lea eax, [ebx + 0xd4]
mov edx, 0x519234
call fcn.00403e78
lea eax, [ebx + 0xd8]
mov edx, 0x51924c
call fcn.00403e78
lea eax, [ebx + 0xdc]
mov edx, 0x51928c
call fcn.00403e78
lea eax, [ebx + 0xe0]
mov edx, 0x5192b0
call fcn.00403e78
lea eax, [ebx + 0xe4]
mov edx, 0x5192dc
call fcn.00403e78
lea eax, [ebx + 0x220]
mov edx, 0x518db4
call fcn.00403e78
lea eax, [ebx + 0x224]
mov edx, 0x519308
call fcn.00403e78
lea eax, [ebx + 0xe8]
mov edx, 0x519344
call fcn.00403e78
lea eax, [ebx + 0xec]
mov edx, 0x519360
call fcn.00403e78
lea eax, [ebx + 0x218]
mov edx, 0x5193b0
call fcn.00403e78
lea eax, [ebx + 0x21c]
mov edx, 0x5193c8
call fcn.00403e78
lea eax, [ebx + 0xf0]
mov edx, 0x519430
call fcn.00403e78
lea eax, [ebx + 0xf4]
mov edx, 0x51945c
call fcn.00403e78
lea eax, [ebx + 0xf8]
mov edx, 0x5194a4
call fcn.00403e78
lea eax, [ebx + 0xfc]
mov edx, 0x5194bc
call fcn.00403e78
lea eax, [ebx + 0x100]
mov edx, 0x5194e8
call fcn.00403e78
lea eax, [ebx + 0x104]
mov edx, 0x519508
call fcn.00403e78
lea eax, [ebx + 0x108]
mov edx, 0x519540
call fcn.00403e78
lea eax, [ebx + 0x10c]
mov edx, 0x51958c
call fcn.00403e78
lea eax, [ebx + 0x110]
mov edx, 0x5195bc
call fcn.00403e78
lea eax, [ebx + 0x114]
mov edx, 0x5195dc
call fcn.00403e78
lea eax, [ebx + 0x118]
mov edx, 0x5195f0
call fcn.00403e78
lea eax, [ebx + 0x11c]
mov edx, 0x51960c
call fcn.00403e78
lea eax, [ebx + 0x120]
mov edx, 0x51963c
call fcn.00403e78
lea eax, [ebx + 0x124]
mov edx, 0x519658
call fcn.00403e78
lea eax, [ebx + 0x128]
mov edx, 0x519678
call fcn.00403e78
lea eax, [ebx + 0x12c]
mov edx, 0x5196a0
call fcn.00403e78
lea eax, [ebx + 0x130]
mov edx, 0x5196cc
call fcn.00403e78
lea eax, [ebx + 0x134]
mov edx, 0x5196f8
call fcn.00403e78
lea eax, [ebx + 0x138]
mov edx, 0x51971c
call fcn.00403e78
lea eax, [ebx + 0x13c]
mov edx, 0x519744
call fcn.00403e78
lea eax, [ebx + 0x140]
mov edx, 0x519768
call fcn.00403e78
lea eax, [ebx + 0x144]
mov edx, 0x519780
call fcn.00403e78
lea eax, [ebx + 0x148]
mov edx, 0x519678
call fcn.00403e78
lea eax, [ebx + 0x14c]
mov edx, 0x51979c
call fcn.00403e78
lea eax, [ebx + 0x150]
mov edx, 0x5197b4
call fcn.00403e78
lea eax, [ebx + 0x154]
mov edx, 0x5197c8
call fcn.00403e78
lea eax, [ebx + 0x158]
mov edx, 0x5197e8
call fcn.00403e78
lea eax, [ebx + 0x15c]
mov edx, 0x51980c
call fcn.00403e78
lea eax, [ebx + 0x160]
mov edx, 0x519828
call fcn.00403e78
lea eax, [ebx + 0x164]
mov edx, 0x519850
call fcn.00403e78
lea eax, [ebx + 0x168]
mov edx, 0x519878
call fcn.00403e78
lea eax, [ebx + 0x16c]
mov edx, 0x5198a4
call fcn.00403e78
lea eax, [ebx + 0x170]
mov edx, 0x5198d4
call fcn.00403e78
lea eax, [ebx + 0x174]
mov edx, 0x5198e8
call fcn.00403e78
lea eax, [ebx + 0x178]
mov edx, 0x5198f8
call fcn.00403e78
lea eax, [ebx + 0x17c]
mov edx, 0x51991c
call fcn.00403e78
lea eax, [ebx + 0x180]
mov edx, 0x51996c
call fcn.00403e78
lea eax, [ebx + 0x184]
mov edx, 0x519980
call fcn.00403e78
lea eax, [ebx + 0x188]
mov edx, 0x519998
call fcn.00403e78
lea eax, [ebx + 0x18c]
mov edx, 0x5199ec
call fcn.00403e78
lea eax, [ebx + 0x190]
mov edx, 0x519a0c
call fcn.00403e78
lea eax, [ebx + 0x194]
mov edx, 0x519a54
call fcn.00403e78
lea eax, [ebx + 0x198]
mov edx, 0x519a70
call fcn.00403e78
lea eax, [ebx + 0x19c]
mov edx, 0x519a88
call fcn.00403e78
lea eax, [ebx + 0x1a0]
mov edx, 0x519ae0
call fcn.00403e78
lea eax, [ebx + 0x1a4]
mov edx, 0x519b24
call fcn.00403e78
lea eax, [ebx + 0x1a8]
mov edx, 0x519b48
call fcn.00403e78
lea eax, [ebx + 0x1ac]
mov edx, 0x519b68
call fcn.00403e78
lea eax, [ebx + 0x1b0]
mov edx, 0x519b80
call fcn.00403e78
lea eax, [ebx + 0x1b4]
mov edx, 0x519bbc
call fcn.00403e78
lea eax, [ebx + 0x1b8]
mov edx, 0x519bd0
call fcn.00403e78
lea eax, [ebx + 0x1bc]
mov edx, 0x519bf4
call fcn.00403e78
lea eax, [ebx + 0x1c0]
mov edx, 0x519c18
call fcn.00403e78
lea eax, [ebx + 0x1c4]
mov edx, 0x519c28
call fcn.00403e78
lea eax, [ebx + 0x1c8]
mov edx, 0x519c38
call fcn.00403e78
lea eax, [ebx + 0x1cc]
mov edx, 0x519c4c
call fcn.00403e78
lea eax, [ebx + 0x1d0]
mov edx, 0x519c6c
call fcn.00403e78
lea eax, [ebx + 0x1d4]
mov edx, 0x519c8c
call fcn.00403e78
lea eax, [ebx + 0x1d8]
mov edx, 0x519cac
call fcn.00403e78
lea eax, [ebx + 0x1dc]
mov edx, 0x519ccc
call fcn.00403e78
lea eax, [ebx + 0x1e0]
mov edx, 0x519cf0
call fcn.00403e78
lea eax, [ebx + 0x1e4]
mov edx, 0x519d0c
call fcn.00403e78
lea eax, [ebx + 0x1e8]
mov edx, 0x519d28
call fcn.00403e78
lea eax, [ebx + 0x1ec]
mov edx, 0x519d3c
call fcn.00403e78
lea eax, [ebx + 0x1f0]
mov edx, 0x519d6c
call fcn.00403e78
lea eax, [ebx + 0x1f4]
mov edx, 0x51897c
call fcn.00403e78
lea eax, [ebx + 0x1f8]
mov edx, 0x5189ac
call fcn.00403e78
lea eax, [ebx + 0x1fc]
mov edx, 0x519d80
call fcn.00403e78
lea eax, [ebx + 0x228]
mov edx, 0x519d9c
call fcn.00403e78
lea eax, [ebx + 0x22c]
mov edx, 0x519db8
call fcn.00403e78
lea eax, [ebx + 0x230]
mov edx, 0x519dd8
call fcn.00403e78
lea eax, [ebx + 0x234]
mov edx, 0x519df4
call fcn.00403e78
lea eax, [ebx + 0x238]
mov edx, 0x519e84
call fcn.00403e78
lea eax, [ebx + 0x23c]
mov edx, 0x519eb4
call fcn.00403e78
lea eax, [ebx + 0x240]
mov edx, 0x519f0c
call fcn.00403e78
lea eax, [ebx + 0x244]
mov edx, 0x519f2c
call fcn.00403e78
lea eax, [ebx + 0x248]
mov edx, 0x519f60
call fcn.00403e78
lea eax, [ebx + 0x24c]
mov edx, 0x519f78
call fcn.00403e78
lea eax, [ebx + 0x250]
mov edx, 0x51a030
call fcn.00403e78
lea eax, [ebx + 0x254]
mov edx, 0x51a044
call fcn.00403e78
lea eax, [ebx + 0x258]
mov edx, 0x51a068
call fcn.00403e78
lea eax, [ebx + 0x25c]
mov edx, 0x51a07c
call fcn.00403e78
lea eax, [ebx + 0x260]
mov edx, 0x51a0ac
call fcn.00403e78
lea eax, [ebx + 0x264]
mov edx, 0x51a0dc
call fcn.00403e78
lea eax, [ebx + 0x268]
mov edx, 0x51a0f4
call fcn.00403e78
lea eax, [ebx + 0x26c]
mov edx, 0x51a108
call fcn.00403e78
lea eax, [ebx + 0x270]
mov edx, 0x51a124
call fcn.00403e78
lea eax, [ebx + 0x274]
mov edx, 0x51a144
call fcn.00403e78
lea eax, [ebx + 0x278]
mov edx, 0x51a170
call fcn.00403e78
lea eax, [ebx + 0x27c]
mov edx, 0x51a19c
call fcn.00403e78
lea eax, [ebx + 0x280]
mov edx, 0x51a1b8
call fcn.00403e78
lea eax, [ebx + 0x284]
mov edx, 0x51a1e8
call fcn.00403e78
lea eax, [ebx + 0x288]
mov edx, 0x51a1fc
call fcn.00403e78
lea eax, [ebx + 0x28c]
mov edx, 0x51a210
call fcn.00403e78
lea eax, [ebx + 0x290]
mov edx, 0x51a228
call fcn.00403e78
lea eax, [ebx + 0x294]
mov edx, 0x51a244
call fcn.00403e78
lea eax, [ebx + 0x298]
mov edx, 0x51a270
call fcn.00403e78
lea eax, [ebx + 0x29c]
mov edx, 0x51a2ac
call fcn.00403e78
lea eax, [ebx + 0x2a0]
mov edx, 0x51a2d4
call fcn.00403e78
lea eax, [ebx + 0x2a8]
mov edx, 0x51a300
call fcn.00403e78
lea eax, [ebx + 0x2ac]
mov edx, 0x51a32c
call fcn.00403e78
lea eax, [ebx + 0x2b0]
mov edx, 0x51a340
call fcn.00403e78
lea eax, [ebx + 0x2b4]
mov edx, 0x51a364
call fcn.00403e78
lea eax, [ebx + 0x2b8]
mov edx, 0x51a37c
call fcn.00403e78
lea eax, [ebx + 0x2bc]
mov edx, 0x51a38c
call fcn.00403e78
lea eax, [ebx + 0x2c0]
mov edx, 0x51a3ac
call fcn.00403e78
lea eax, [ebx + 0x2c4]
mov edx, 0x51a3cc
call fcn.00403e78
lea eax, [ebx + 0x2c8]
mov edx, 0x51a3e4
call fcn.00403e78
lea eax, [ebx + 0x2cc]
mov edx, 0x51a3f4
call fcn.00403e78
lea edx, [ebp - 0x14]
mov eax, dword [0x536040]
mov eax, dword [eax]
call fcn.00450c28
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.004098b0
mov eax, dword [ebp - 0x10]
mov edx, 0x51a40c
call fcn.004041b4
je 0x518226
lea edx, [ebp - 0x1c]
mov eax, dword [0x536040]
mov eax, dword [eax]
call fcn.00450c28
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.004098b0
mov eax, dword [ebp - 0x18]
mov edx, 0x51a420
call fcn.004041b4
je 0x518226
lea edx, [ebp - 0x24]
mov eax, dword [0x536040]
mov eax, dword [eax]
call fcn.00450c28
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x20]
call fcn.004098b0
mov eax, dword [ebp - 0x20]
mov edx, 0x51a438
call fcn.004041b4
je 0x518226
lea edx, [ebp - 0x2c]
mov eax, dword [0x536040]
mov eax, dword [eax]
call fcn.00450c28
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
call fcn.004098b0
mov eax, dword [ebp - 0x28]
mov edx, 0x51a44c
call fcn.004041b4
jne 0x5182f6
xor eax, eax
push ebp
push 0x518248
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x51a464
call fcn.0050c4c0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x518252
xor ebx, ebx
xor eax, eax
push ebp
push 0x51829b
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x34]
mov eax, dword [0x536040]
mov eax, dword [eax]
call fcn.00450c28
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x30]
call fcn.004097e8
lea eax, [ebp - 0x30]
mov edx, 0x51a464
call fcn.004040ac
mov eax, dword [ebp - 0x30]
call fcn.00458010
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5182a7
test bl, bl
jne 0x518226
push 5
push 0
push 0
lea edx, [ebp - 0x3c]
mov eax, dword [0x536040]
mov eax, dword [eax]
call fcn.00450c28
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x38]
call fcn.004097e8
lea eax, [ebp - 0x38]
mov edx, 0x51a464
call fcn.004040ac
mov eax, dword [ebp - 0x38]
call fcn.00404268
push eax
push 0x51a474
push 0
call sub.shell32.dll_ShellExecuteA
jmp 0x518931
lea edx, [ebp - 0x44]
mov eax, dword [0x536040]
mov eax, dword [eax]
call fcn.00450c28
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x40]
call fcn.004097e8
lea eax, [ebp - 0x40]
mov edx, 0x51a40c
call fcn.004040ac
mov eax, dword [ebp - 0x40]
call fcn.00409698
lea edx, [ebp - 0x4c]
mov eax, dword [0x536040]
mov eax, dword [eax]
call fcn.00450c28
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
call fcn.004097e8
lea eax, [ebp - 0x48]
mov edx, 0x51a438
call fcn.004040ac
mov eax, dword [ebp - 0x48]
call fcn.00409698
lea edx, [ebp - 0x54]
mov eax, dword [0x536040]
mov eax, dword [eax]
call fcn.00450c28
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.004097e8
lea eax, [ebp - 0x50]
mov edx, 0x51a420
call fcn.004040ac
mov eax, dword [ebp - 0x50]
call fcn.00409698
lea edx, [ebp - 0x5c]
mov eax, dword [0x536040]
mov eax, dword [eax]
call fcn.00450c28
mov eax, dword [ebp - 0x5c]
lea edx, [ebp - 0x58]
call fcn.004097e8
lea eax, [ebp - 0x58]
mov edx, 0x51a44c
call fcn.004040ac
mov eax, dword [ebp - 0x58]
call fcn.00409698
mov eax, dword [0x536040]
mov eax, dword [eax]
call fcn.004506c8
mov eax, dword [0x536040]
mov eax, dword [eax]
mov edx, 0x51a484
call fcn.004502cc
xor eax, eax
push ebp
push 0x518551
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x458670]
call fcn.00458770
mov dword [0x538be8], eax
xor eax, eax
push ebp
push 0x518527
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000001
mov eax, dword [0x538be8]
call fcn.00458810
xor ecx, ecx
xor edx, edx
mov eax, dword [0x538be8]
call fcn.00458954
test al, al
je 0x51851d
mov edx, 0x51a4b0
mov eax, dword [0x538be8]
call fcn.00459224
test al, al
je 0x518455
mov edx, 0x51a4b0
mov eax, dword [0x538be8]
call fcn.00459020
test eax, eax
jns 0x51844a
add eax, 7
sar eax, 3
mov edx, dword [0x535d20]
mov dword [edx], eax
mov edx, 0x51a4c0
mov eax, dword [0x538be8]
call fcn.00459224
test al, al
je 0x5184df
mov edx, 0x51a4c0
mov eax, dword [0x538be8]
call fcn.004590d0
fstp qword [ebp - 0x64]
wait
call fcn.0040a814
fcomp qword [ebp - 0x64]
fnstsw ax
sahf
je 0x5184df
mov edx, 0x51a4b0
mov eax, dword [0x538be8]
call fcn.00459224
test al, al
je 0x5184d7
mov edx, 0x51a4b0
mov eax, dword [0x538be8]
call fcn.00459020
test eax, eax
jns 0x5184b1
add eax, 7
sar eax, 3
mov edx, dword [0x535d20]
mov dword [edx], eax
mov eax, dword [0x535d20]
dec dword [eax]
mov eax, dword [0x535d20]
cmp dword [eax], 1
jge 0x5184df
mov eax, dword [0x535bcc]
mov byte [eax], 1
jmp 0x5184df
mov eax, dword [0x535bcc]
mov byte [eax], 1
mov eax, dword [0x535bcc]
cmp byte [eax], 0
jne 0x51851d
call fcn.0040a814
add esp, 0xfffffff8
fstp qword [esp]
wait
mov edx, 0x51a4c0
mov eax, dword [0x538be8]
call fcn.004590bc
mov eax, dword [0x535d20]
mov ecx, dword [eax]
shl ecx, 3
mov edx, 0x51a4b0
mov eax, dword [0x538be8]
call fcn.0045900c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x518539
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x518558
mov eax, dword [0x538be8]
call fcn.004030bc
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x518953
lea eax, [ebp - 0x5c]
mov edx, 0x14
call fcn.00403e48
ret