Function at 0x10004540
Capabilities:
Create thread

Disassembly:
push ebx
push esi
mov esi, eax
movzx eax, byte [esi + 4]
push edi
push eax
push str.r_jj
call fcn.10011240
add esp, 4
push eax
push 0
mov ecx, 0x1003d6d8
call fcn.100075a0
movzx eax, byte [esi + 4]
add esp, 0xc
cmp eax, 0xb
ja case.default.0x10004570
jmp dword [eax*4 + 0x10004730]
mov ecx, 0xe
push 0x1388
call fcn.10007d10
push eax
push 2
mov eax, 0x10047868
call fcn.10011080
add esp, 0xc
pop edi
pop esi
pop ebx
ret
mov ecx, 0xf
jmp 0x1000457c
mov ecx, 0x10
jmp 0x1000457c
mov ecx, 0x11
jmp 0x1000457c
mov ecx, 0x12
jmp 0x1000457c
mov ecx, 0x13
jmp 0x1000457c
mov ecx, 0x14
jmp 0x1000457c
mov ecx, 0x16
jmp 0x1000457c
mov ecx, 0x18
jmp 0x1000457c
mov ecx, 0x19
jmp 0x1000457c
mov ecx, 0x64
jmp 0x1000457c
mov ecx, 0x15
call fcn.10007d10
mov esi, eax
push esi
push 1
push 2
push 0x1001f140
call fcn.10011240
add esp, 4
push eax
push 0
mov ecx, 0x1003d6d8
call fcn.100075a0
add esp, 0x14
mov eax, dword [0x1004761c]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov ebx, dword [sym.imp.USER32.dll_UnregisterClassA]
je 0x10004646
push 0
push 0
push 0x10
push eax
call edi
mov ecx, dword [0x100485dc]
mov edx, dword [str.SPLASH]
push ecx
push edx
mov dword [0x1004761c], 0
call ebx
mov eax, dword [0x10047744]
test eax, eax
je 0x10004671
push 0
push 0
push 0x10
push eax
call edi
mov eax, dword [0x100485dc]
mov ecx, dword [str.SPLASH]
push eax
push ecx
mov dword [0x10047744], 0
call ebx
mov eax, dword [0x1004786c]
test eax, eax
je 0x1000469c
push 0
push 0
push 0x10
push eax
call edi
mov edx, dword [0x100485dc]
mov eax, dword [str.SPLASH]
push edx
push eax
mov dword [0x1004786c], 0
call ebx
push 0x2b39c0
mov eax, esi
push 0x6a
mov esi, 0x10047868
call fcn.100107c0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
push 0
push 0
push esi
push 0x10010fe0
push 0
push 0
mov dword [0x10047870], eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [0x10047870]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [0x10047870]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x1004786c]
test eax, eax
je 0x10004728
push 0
push 0
push 0x10
push eax
call edi
mov eax, dword [0x100485dc]
mov ecx, dword [str.SPLASH]
push eax
push ecx
mov dword [0x1004786c], 0
call ebx
call fcn.10010c50
lea ecx, [ecx]
xchg esi, eax
inc ebp
add byte [eax], dl
ja 0x1000477b
add byte [eax], dl
lcall 0x45, 0xa1100045
adc byte [eax - 1357905851], ch
inc ebp
add byte [eax], dl
mov dh, 0x45
add byte [eax], dl
mov ebp, 0xc4100045
inc ebp
add byte [eax], dl
retf
push edi
je 0x10004814
mov ecx, dword [0x1003d67c]
mov dword [0x10048730], ebx
mov dword [0x10048734], ebx
mov dword [0x10048738], ebx
mov dword [0x1004873c], ebx
mov dword [0x10048740], ebx
mov dword [0x10048744], ebx
mov dword [0x10048748], ebx
mov dword [0x1004874c], ebx
mov dword [0x10048750], ebx
mov dword [0x10048754], ebx
mov dword [0x10048758], ebx
cmp ecx, dword [0x1003d680]
je 0x100047d8
mov dword [0x1003d680], ecx
mov ecx, dword [0x1003d68c]
cmp ecx, dword [0x1003d690]
je 0x100047ec
mov dword [0x1003d690], ecx
mov ecx, dword [0x1003d69c]
cmp ecx, dword [0x1003d6a0]
je 0x10004800
mov dword [0x1003d6a0], ecx
mov ecx, dword [0x1003d6ac]
cmp ecx, dword [0x1003d6b0]
je 0x10004814
mov dword [0x1003d6b0], ecx
mov word [ebp - 0x3c], 0x38c1
call dword [sym.imp.MSVCR100.dll_rand]
and eax, 0x800000ff
jns 0x1000482e
dec eax
or eax, 0xffffff00
inc eax
mov ecx, dword [0x100475f4]
mov edx, dword [0x1001ac9c]
mov byte [ebp - 0x3a], al
mov eax, dword [0x10048778]
mov dword [ebp - 0x38], eax
mov eax, dword [0x1001aca0]
mov byte [ebp - 0x39], bl
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
call fcn.10011340
mov esi, eax
mov ecx, 9
lea edi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x38]
lea edx, [ebp - 0x30]
push edx
push eax
push ecx
push 0x10023940
call fcn.10011240
add esp, 4
push eax
push ebx
mov ecx, 0x1003d6d8
call fcn.100075a0
movzx ecx, byte [ebp - 0x3b]
add esp, 0x18
lea edx, [ebp - 0x3c]
call fcn.10001920
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10014184
mov esp, ebp
pop ebp
ret