Function at 0x52b800
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
mov ecx, 9
push 0
push 0
dec ecx
jne 0x52b808
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x52c034
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x557f6c]
mov edx, 0x52c050
call fcn.00404e30
lea eax, [ebp - 0xc]
mov edx, 0x52c090
call fcn.00404e74
lea eax, [ebp - 0x30]
mov edx, 0x52c0a4
call fcn.00404e74
mov eax, dword [ebx + 0x5f6]
mov byte [eax + 0x122], 1
mov eax, dword [ebx + 0x5f6]
mov byte [eax + 0x244], 1
mov byte [ebx + 0x5dc], 1
mov dword [ebx + 0x5e1], 0x28
mov dword [ebx + 0x5e5], 0x50
mov byte [ebx + 0x5e9], 1
mov dword [ebx + 0x5f2], 0x3c
mov byte [ebx + 0x951], 1
mov eax, dword [ebx + 0xb80]
mov byte [eax + 0x122], 1
mov eax, dword [ebx + 0xb80]
mov dword [eax + 0x127], 0x19
mov byte [ebx + 0x5ae], 1
xor eax, eax
mov al, byte [ebx + 0xb8]
cmp eax, 7
ja case.0x52b8cd.0
jmp dword [eax*4 + 0x52b8d4]
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x36], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x37], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0x39]
mov esi, 0x52c0b0
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x6c], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x6d], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0x6f]
mov esi, 0x52c0e4
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x5fe]
mov byte [eax], 1
mov eax, dword [ebx + 0x5fe]
mov dword [eax + 1], 0x12c
mov eax, dword [ebx + 0x5fe]
mov dword [eax + 5], 1
mov eax, dword [ebx + 0x5fe]
lea edi, [eax + 9]
mov esi, 0x52c118
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
jmp case.0x52b8cd.0
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x36], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x37], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0x39]
mov esi, 0x52c218
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x6c], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x6d], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0x6f]
mov esi, 0x52c24c
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x5fe]
mov byte [eax], 1
mov eax, dword [ebx + 0x5fe]
mov dword [eax + 1], 0x12c
mov eax, dword [ebx + 0x5fe]
mov dword [eax + 5], 1
mov eax, dword [ebx + 0x5fe]
lea edi, [eax + 9]
mov esi, 0x52c280
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
jmp case.0x52b8cd.0
push 4
lea eax, [ebx + 0x602]
mov ecx, 1
mov edx, dword [0x49cf38]
call fcn.004062b4
add esp, 4
mov eax, dword [ebx + 0x602]
mov byte [eax], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 1], 0
mov eax, dword [ebx + 0x602]
lea edi, [eax + 3]
mov esi, 0x52c380
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x36], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x37], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0x39]
mov esi, 0x52c3b4
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x6c], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x6d], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0x6f]
mov esi, 0x52c3e8
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x602]
mov byte [eax + 0xa2], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0xa3], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0xa5]
mov esi, 0x52c41c
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x5fa]
mov byte [eax], 1
mov eax, dword [ebx + 0x5fa]
mov dword [eax + 5], 0x46
mov eax, dword [ebx + 0x5fa]
lea edi, [eax + 0xd]
mov esi, 0x52c450
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
jmp case.0x52b8cd.0
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x36], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x37], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0x39]
mov esi, 0x52c550
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x6c], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x6d], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0x6f]
mov esi, 0x52c584
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x5fe]
mov byte [eax], 1
mov eax, dword [ebx + 0x5fe]
mov dword [eax + 1], 0x12c
mov eax, dword [ebx + 0x5fe]
mov dword [eax + 5], 1
mov eax, dword [ebx + 0x5fe]
lea edi, [eax + 9]
mov esi, 0x52c5b8
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
jmp case.0x52b8cd.0
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x36], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x37], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0x39]
mov esi, 0x52c6b8
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x6c], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x6d], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0x6f]
mov esi, 0x52c6ec
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x5fe]
mov byte [eax], 1
mov eax, dword [ebx + 0x5fe]
mov dword [eax + 1], 0x12c
mov eax, dword [ebx + 0x5fe]
mov dword [eax + 5], 1
mov eax, dword [ebx + 0x5fe]
lea edi, [eax + 9]
mov esi, 0x52c720
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
jmp case.0x52b8cd.0
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x36], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x37], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0x39]
mov esi, 0x52c820
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x6c], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x6d], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0x6f]
mov esi, 0x52c854
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x5fe]
mov byte [eax], 1
mov eax, dword [ebx + 0x5fe]
mov dword [eax + 1], 0x12c
mov eax, dword [ebx + 0x5fe]
mov dword [eax + 5], 1
mov eax, dword [ebx + 0x5fe]
lea edi, [eax + 9]
mov esi, 0x52c888
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
jmp case.0x52b8cd.0
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x36], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x37], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0x39]
mov esi, 0x52c988
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x6c], 1
mov eax, dword [ebx + 0x602]
mov byte [eax + 0x6d], 1
mov eax, dword [ebx + 0x602]
lea edi, [eax + 0x6f]
mov esi, 0x52c9bc
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x5fe]
mov byte [eax], 1
mov eax, dword [ebx + 0x5fe]
mov dword [eax + 1], 0x12c
mov eax, dword [ebx + 0x5fe]
mov dword [eax + 5], 1
mov eax, dword [ebx + 0x5fe]
lea edi, [eax + 9]
mov esi, 0x52c9f0
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
mov eax, ebx
call fcn.00537fac
mov eax, ebx
call fcn.00524d3c
test al, al
jne 0x52bffc
mov eax, dword [0x55d330]
mov edx, dword [eax + 0x1d0]
add edx, dword [ebx + 0x9c]
add edx, 8
mov eax, ebx
call fcn.0053ea94
mov dword [ebp - 0x24], eax
mov eax, dword [0x55d330]
mov edx, dword [eax + 0x1d0]
add edx, dword [ebx + 0x9c]
add edx, 8
add edx, 0x44
mov eax, ebx
call fcn.0053ea94
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x28]
jb 0x52bddd
push ebx
call fcn.0054095c
push 0x3e8
call sub.kernel32.dll_Sleep_1
mov eax, ebx
call fcn.0052b2c4
xor ecx, ecx
mov edx, dword [ebx + 0xfb2]
mov eax, ebx
call fcn.0053dcdc
xor ecx, ecx
mov edx, dword [ebx + 0xfb6]
mov eax, ebx
call fcn.0053dd3c
mov eax, dword [ebx + 0xb4]
cmp eax, dword [ebx + 0xfba]
jb 0x52be4b
mov eax, dword [0x558400]
push eax
push 0
lea eax, [ebx + 0x468]
push eax
push 0x543814
push 0
push 0
call sub.kernel32.dll_CreateThread_1
mov edx, dword [0x5580d0]
mov dword [edx], eax
mov eax, dword [0x558650]
mov eax, dword [eax]
call fcn.00451d50
call fcn.00543064
jmp 0x52bffc
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.00523b40
mov esi, eax
test esi, esi
jne 0x52bf30
lea eax, [ebp - 0x34]
push eax
lea edx, [ebp - 0x34]
or ecx, 0xffffffff
mov eax, 0x52caf8
call fcn.0040b120
mov edx, dword [ebp - 0x34]
mov eax, ebx
call fcn.00529688
lea ecx, [ebp - 0x20]
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.005238bc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x52bd77
lea ecx, [ebp - 0x18]
mov edx, dword [ebp - 8]
add edx, 0x84
mov eax, ebx
call fcn.0053e93c
cmp dword [ebp - 0x18], 0
je 0x52bd77
lea eax, [ebp - 0x1c]
push eax
mov ecx, 0x52cb10
mov edx, 0x52cb1c
mov eax, dword [ebp - 0x18]
call fcn.00546954
mov eax, dword [ebp - 0x1c]
call fcn.00409cc8
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x1c]
push eax
mov ecx, 0x52cb2c
mov edx, 0x52cb3c
mov eax, dword [ebp - 0x18]
call fcn.00546954
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x52cb4c
mov edx, 0x52cb58
mov eax, dword [ebp - 0x1c]
call fcn.00546954
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 0x1c]
call fcn.00404e74
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
call fcn.00404e74
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, ebx
call fcn.00525494
test al, al
je 0x52bd77
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.00523b40
mov esi, eax
test esi, esi
je 0x52bf73
lea ecx, [ebp - 0x2c]
mov edx, esi
mov eax, ebx
call fcn.00523b0c
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0xb
lea edx, [ebp - 0x44]
xor ecx, ecx
mov eax, 0x52cb64
call fcn.0040b120
mov edx, dword [ebp - 0x3c]
mov eax, ebx
call fcn.00529688
lea edx, [esi + 0xc]
mov eax, ebx
call fcn.00541a04
mov edi, eax
cmp edi, 0xff8
jne 0x52bf91
push 0x1388
call sub.kernel32.dll_Sleep_1
mov eax, ebx
call fcn.0052aa30
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.00528ba0
test al, al
je 0x52bd77
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.00523b40
mov esi, eax
test esi, esi
je 0x52bfed
lea ecx, [ebp - 0x2c]
mov edx, esi
mov eax, ebx
call fcn.00523b0c
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0xb
lea edx, [ebp - 0x44]
xor ecx, ecx
mov eax, 0x52cb7c
call fcn.0040b120
mov edx, dword [ebp - 0x48]
mov eax, ebx
call fcn.00529688
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.005288e0
jmp 0x52bd77
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52c03b
lea eax, [ebp - 0x48]
call fcn.00404ddc
lea eax, [ebp - 0x3c]
mov edx, 5
call fcn.00404e00
lea eax, [ebp - 0x20]
mov edx, 3
call fcn.00404e00
lea eax, [ebp - 0xc]
call fcn.00404ddc
ret