Function at 0x47dc00
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f0968
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x521390]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x14], ebx
mov edi, dword [ebp + 0xc]
cmp edi, 0x464
ja 0x47ddc4
je 0x47dc83
cmp edi, 0x18
je 0x47dc60
cmp edi, 0x113
jne 0x47ddfe
mov eax, ebx
call fcn.0047f0f0
jmp 0x47ddfe
cmp byte [ebx + 0x24], 0
je 0x47ddfe
cmp byte [ebx + 0x26], 0
je 0x47ddfe
mov dword [0x5284a8], 4
jmp 0x47ddfe
mov eax, dword [ebx + 0x70]
mov edx, dword [eax + 0x3c]
lea ecx, [ebx + 0x70]
push 0xafe4ab5
call edx
mov esi, eax
test esi, esi
je 0x47dcae
mov eax, dword [esi]
mov edx, dword [eax + 0x50]
push 0
mov ecx, esi
call edx
mov edx, 0x4ffaac
call fcn.004a11e0
mov edi, dword [ebx + 0x18]
test edi, edi
je 0x47dce8
mov eax, dword [edi + 0x70]
mov edx, dword [eax + 0x3c]
push 0xb6718b4
lea ecx, [edi + 0x70]
call edx
test eax, eax
jne 0x47dcdd
mov eax, dword [edi + 0x70]
mov edx, dword [eax + 0x4c]
push 0xb6718b4
lea ecx, [edi + 0x70]
call edx
test eax, eax
je 0x47dce8
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x50]
push 0
call eax
mov edi, dword [edi + 0x60]
push 0
push edi
call dword [sym.imp.USER32.dll_GetSystemMenu]
test eax, eax
je 0x47dd06
push 1
push 0xf060
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
mov ecx, dword [ebx + 0x1a0]
push 0
push 0x1b58
push 0x186a1
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov edx, dword [ebp + 0x10]
lea edi, [ebx + 0x23c]
call fcn.0045ab30
mov edx, dword [edi]
mov eax, dword [edx - 0xc]
dec eax
js 0x47ddba
mov ecx, edx
cmp eax, dword [ecx - 0xc]
jg 0x47ddba
cmp word [ecx + eax*2], 0x5c
je 0x47dd93
lea eax, [esp + 0x18]
push edi
push eax
mov ebx, 0x4f8eb8
call fcn.0045c1d0
add esp, 8
mov dword [esp + 0x28], 0
call fcn.0045c2b0
mov dword [esp + 0x28], 0xffffffff
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47dd8f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [esp + 0x14]
push 0
push 0
push ebx
push 0x48d890
push 0
push 0
call fcn.004cd0d6
add esp, 0x18
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.0047dee0
mov edi, dword [ebp + 0xc]
jmp 0x47ddfe
push 0x80070057
call fcn.00459710
mov eax, edi
sub eax, 0x465
je 0x47ddf4
sub eax, 4
jne 0x47ddfe
mov esi, dword [ebx + 0x230]
mov ecx, dword [ebp + 0x10]
mov edx, dword [esi]
mov eax, dword [edx + 0x6c]
mov dword [esi + 0x74], ecx
mov ecx, esi
call eax
test al, al
je 0x47ddfe
mov eax, esi
call fcn.004a7c00
jmp 0x47ddfe
mov ecx, dword [ebp + 0x14]
push ecx
push ebx
call fcn.0047eec0
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push edx
push eax
push edi
push ecx
mov ecx, ebx
call fcn.0049e230
mov esi, eax
cmp edi, 5
jne 0x47de37
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebx]
mov edx, dword [edx + 0xa8]
movsx eax, cx
shr ecx, 0x10
movsx ecx, cx
push ecx
push eax
mov eax, dword [ebp + 0x10]
push eax
mov ecx, ebx
call edx
mov eax, esi
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10