Function at 0x10052e40
Capabilities:
Suspend thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push esi
push edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
jmp 0x10052e59
mov ecx, dword [ebp - 0x24]
add ecx, 0x26
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp + 8]
add edx, 0x7b8
cmp dword [ebp - 0x24], edx
ja 0x1005328f
mov eax, dword [ebp - 0x24]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xa14
ja 0x10052ef1
cmp dword [ebp - 8], 0xa14
je 0x10052fe6
cmp dword [ebp - 8], 0x930
ja 0x10052ec7
cmp dword [ebp - 8], 0x930
je 0x1005323a
mov ecx, dword [ebp - 8]
sub ecx, 0x84c
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0xbe
ja case.0x10052eea.1
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x100532b4]
jmp dword [eax*4 + 0x10053298]
mov ecx, dword [ebp - 8]
sub ecx, 0x956
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0x98
ja case.0x10052eea.1
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x1005338c]
jmp dword [eax*4 + 0x10053374]
cmp dword [ebp - 8], 0x4049
ja 0x10052f61
cmp dword [ebp - 8], 0x4049
je 0x100530fd
cmp dword [ebp - 8], 0x3fd7
ja 0x10052f3f
cmp dword [ebp - 8], 0x3fd7
je 0x10053120
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
sub dword [ebp - 0xc], 0x1996
je 0x1005300c
sub dword [ebp - 0xc], 0x26
je 0x100530f5
jmp case.0x10052eea.1
mov edx, dword [ebp - 8]
mov dword [ebp - 0x10], edx
sub dword [ebp - 0x10], 0x3ffd
je 0x10053188
sub dword [ebp - 0x10], 0x26
je 0x10053257
jmp case.0x10052eea.1
cmp dword [ebp - 8], 0x40bb
ja 0x10052f91
cmp dword [ebp - 8], 0x40bb
je 0x10053224
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
sub dword [ebp - 0x14], 0x406f
je 0x10052fc2
sub dword [ebp - 0x14], 0x26
je 0x10052fb3
jmp case.0x10052eea.1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x18], ecx
sub dword [ebp - 0x18], 0x780c
je 0x1005304c
sub dword [ebp - 0x18], 0x26
je 0x1005309a
jmp case.0x10052eea.1
mov edx, dword [ebp + 0x10]
mov byte [edx + 0xa8], 0
jmp case.0x10052eea.1
mov eax, dword [ebp + 0x10]
mov byte [eax + 0x70], 0
mov ecx, dword [ebp + 0x10]
mov byte [ecx + 0x8c], 0
jmp case.0x10052eea.1
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov esi, ecx
jmp case.0x10052eea.1
call fcn.10041060
pop edi
pop esi
pop ebp
ret 4
cmp dword [edi + 0x54], 0
setne cl
mov byte [esi + 0x58], cl
cmp dword [edi + 0x58], 0
mov ecx, dword [esi + 0x6c]
jmp case.0x10052eea.1
mov edx, dword [ebp + 0x10]
movzx eax, byte [edx + 0x11]
test eax, eax
je 0x10053023
mov byte [ebp - 1], 1
mov al, byte [ebp - 1]
jmp 0x10053292
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov edx, dword [ebp + 0x10]
mov byte [edx + 0x11], cl
mov eax, dword [ebp + 0x10]
mov cl, byte [eax + 0x11]
mov byte [ebp - 1], cl
jmp case.0x10052eea.1
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x1c]
mov dx, word [ecx]
mov word [ebp - 4], dx
add dword [ebp - 0x1c], 2
cmp word [ebp - 4], 0
jne 0x1005305b
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x2c]
sar eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x28], edx
push 0
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.1005b0c0
jmp case.0x10052eea.1
mov dword [ebp - 0x20], 0
jmp 0x100530ac
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jae 0x100530cd
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.1005b190
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp + 0x10]
mov cl, byte [edx + ecx*2]
mov byte [eax], cl
jmp 0x100530a3
jmp case.0x10052eea.1
fstp dword [esi + 0x1c]
fld dword [edi + 0x24]
fstp dword [esi + 0x20]
fld dword [edi + 0x28]
fstp dword [esi + 0x24]
fld dword [edi + 0x2c]
fstp dword [esi + 0x28]
fld dword [edi + 0x30]
fstp dword [esi + 0x2c]
fld dword [edi + 0x34]
jmp case.0x10052eea.1
mov al, byte [ebp - 1]
jmp 0x10053292
push 0
push 0x398
call fcn.10002a10
add esp, 8
mov dword [ebp - 0x38], eax
mov edx, dword [ebp + 0x10]
mov al, byte [ebp - 0x38]
mov byte [edx + 0xfa], al
jmp case.0x10052eea.1
mov ecx, dword [ebp + 0x10]
push ecx
push 0x5f47
call fcn.1002bd70
add esp, 8
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp + 0x10]
mov dword [edx + 0xfc], 0x3c
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x100], 0x3840
jmp case.0x10052eea.1
jmp 0x100530fd
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
test eax, eax
je 0x10053120
jmp case.0x10052eea.1
mov ecx, dword [esi + 0x6c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x2c]
call eax
jmp 0x1005300c
push 0
push 0x25c1
call fcn.1003de70
add esp, 8
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x44]
mov dword [ecx + 0x104], edx
jmp case.0x10052eea.1
mov ecx, dword [esi + 0x6c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x2c]
call eax
jmp case.0x10052eea.1
sete dl
mov byte [esi + 0x59], dl
fld dword [edi + 0x5c]
fstp dword [esi + 0x50]
add ecx, 0x2358
fld dword [edi + 0x60]
movss dword [esi + 0x5c], xmm0
fstp dword [esi + 0x54]
jmp case.0x10052eea.1
fstp dword [esi + 0x30]
fld dword [edi + 0x38]
fstp dword [esi + 0x34]
fld dword [edi + 0x3c]
fstp dword [esi + 0x38]
fld dword [edi + 0x40]
fstp dword [esi + 0x3c]
fld dword [edi + 0x44]
fstp dword [esi + 0x40]
fld dword [edi + 0x48]
fstp dword [esi + 0x44]
fld dword [edi + 0x4c]
fstp dword [esi + 0x48]
fld dword [edi + 0x50]
fstp dword [esi + 0x4c]
jmp case.0x10052eea.1
fld dword [edi + 0x18]
fstp dword [esi + 0x14]
fld dword [edi + 0x1c]
fstp dword [esi + 0x18]
fld dword [edi + 0x20]
jmp case.0x10052eea.1
je 0x10053224
jmp case.0x10052eea.1
mov eax, dword [ebp + 0x10]
mov byte [eax + 0xdc], 0
mov ecx, dword [ebp + 0x10]
mov byte [ecx + 0xf8], 1
jmp case.0x10052eea.1
xor eax, eax
mov dword [esi + 0x64], eax
fld dword [edi + 0xc]
fstp dword [esi + 8]
xorps xmm0, xmm0
fld dword [edi + 0x10]
push esi
fstp dword [esi + 0xc]
fld dword [edi + 0x14]
fstp dword [esi + 0x10]
jmp case.0x10052eea.1
mov edx, dword [ebp + 0x10]
movsd xmm0, qword [0x10093770]
movsd qword [edx + 0x68], xmm0
push 0
push 0x502d
push 0
call fcn.10039090
add esp, 0xc
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0x10]
mov cl, byte [ebp - 0x4c]
mov byte [eax + 0xf9], cl
jmp 0x10052e50
mov al, byte [ebp - 1]
pop edi
pop esi
mov esp, ebp
pop ebp
ret