Function at 0x4cc3b0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51048f
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x551644]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x68], esi
xor ebx, ebx
mov dword [esi], vtable.TextDispScene::CTextDisp.0
mov dword [esi + 0xc], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], 0xffffffff
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], 0xff
mov dword [esi + 0x38], ebx
mov dword [ebp - 4], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x54], ebx
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], ebx
mov dword [esi + 0x64], ebx
mov dword [esi + 0x74], ebx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x7c], ebx
mov ecx, 0x5537a9
mov byte [ebp - 4], 4
mov dword [esi + 0x80], ebx
mov dword [esi + 0x84], ebx
mov dword [esi + 0x88], ebx
mov dword [esi + 0x8c], ebx
call fcn.004047e0
mov ecx, dword [0x552adc]
lea eax, [ebp - 0x18]
push eax
call fcn.0043bbf0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push 0x24
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
call fcn.004f4b27
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 5
cmp eax, ebx
je 0x4cc499
mov ecx, eax
call fcn.00412010
jmp 0x4cc49b
xor eax, eax
push eax
lea ecx, [esi + 0x74]
mov byte [ebp - 4], 4
call fcn.0040cd60
mov eax, dword [esi + 0x74]
cmp eax, ebx
jne 0x4cc4b3
xor ecx, ecx
jmp 0x4cc4c9
mov ecx, dword [esi + 0x7c]
cmp ecx, ebx
je 0x4cc4bf
mov edx, dword [ecx + 0xc]
jmp 0x4cc4c1
xor edx, edx
mov ecx, dword [esi + 0x78]
imul ecx, edx
add ecx, eax
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
push 1
push 1
push eax
push edx
call fcn.0040fb20
test al, al
jne 0x4cc4f3
push 0x533160
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], 1
call fcn.004f4775
mov ecx, 0x553818
call fcn.004175a0
mov edi, dword [0x552af4]
mov ecx, dword [edi + 0x30]
sub ecx, dword [edi + 0x2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
je 0x4cc551
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax]
cmp ecx, ebx
jne 0x4cc52b
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x4cc554
mov edx, dword [eax + 8]
cmp edx, ebx
je 0x4cc542
mov eax, dword [eax + 4]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x4cc554
mov eax, dword [eax + 4]
xor edx, edx
imul eax, edx
add eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x4cc554
mov dword [ebp - 0x34], ebx
mov ecx, 0x55380c
call fcn.004174f0
mov ecx, dword [ebp - 0x34]
mov edi, dword [0x552af0]
push str.text_context
call fcn.004984d0
push eax
mov ecx, edi
call fcn.00477bc0
mov ecx, eax
call fcn.004e67f0
push eax
mov ecx, esi
call fcn.0049f930
test al, al
jne 0x4cc5a1
push 0x533160
lea edx, [ebp - 0x34]
push edx
mov dword [ebp - 0x34], 1
call fcn.004f4775
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 6
call fcn.00405480
mov ecx, 0x553818
call fcn.004175a0
mov edi, dword [0x552af4]
mov ecx, 0x55380c
call fcn.004174f0
mov eax, dword [0x552af0]
push str.text_string
push ebx
mov ecx, edi
mov dword [ebp - 0x34], eax
call fcn.00404740
mov ecx, eax
call fcn.004984d0
mov ecx, dword [ebp - 0x34]
push eax
call fcn.00477bc0
mov ecx, eax
call fcn.004e67f0
mov ecx, 0x55380c
mov edi, eax
call fcn.004174f0
mov eax, dword [0x552af0]
mov ecx, dword [eax]
cmp ecx, ebx
jne 0x4cc629
xor eax, eax
jmp 0x4cc63f
mov edx, dword [eax + 8]
cmp edx, ebx
je 0x4cc635
mov edx, dword [edx + 0xc]
jmp 0x4cc637
xor edx, edx
mov eax, dword [eax + 4]
imul eax, edx
add eax, ecx
mov edx, dword [eax + 0x18]
cmp edx, ebx
jne 0x4cc64a
xor eax, eax
jmp 0x4cc660
mov ecx, dword [eax + 0x20]
cmp ecx, ebx
je 0x4cc656
mov ecx, dword [ecx + 0xc]
jmp 0x4cc658
xor ecx, ecx
mov eax, dword [eax + 0x1c]
imul eax, ecx
add eax, edx
mov edx, dword [eax + 4]
cmp edx, ebx
jne 0x4cc66b
xor eax, eax
jmp 0x4cc681
mov ecx, dword [eax + 0xc]
cmp ecx, ebx
je 0x4cc677
mov ecx, dword [ecx + 0xc]
jmp 0x4cc679
xor ecx, ecx
mov eax, dword [eax + 8]
imul eax, ecx
add eax, edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
call eax
fcomp dword [0x51838c]
mov ecx, 0x55380c
fnstsw ax
test ah, 1
jne 0x4cc78d
call fcn.004174f0
mov eax, dword [0x552af0]
mov ecx, dword [eax]
cmp ecx, ebx
jne 0x4cc6b4
xor eax, eax
jmp 0x4cc6ca
mov edx, dword [eax + 8]
cmp edx, ebx
je 0x4cc6c0
mov edx, dword [edx + 0xc]
jmp 0x4cc6c2
xor edx, edx
mov eax, dword [eax + 4]
imul eax, edx
add eax, ecx
mov edx, dword [eax + 0x18]
cmp edx, ebx
jne 0x4cc6d5
xor eax, eax
jmp 0x4cc6eb
mov ecx, dword [eax + 0x20]
cmp ecx, ebx
je 0x4cc6e1
mov ecx, dword [ecx + 0xc]
jmp 0x4cc6e3
xor ecx, ecx
mov eax, dword [eax + 0x1c]
imul eax, ecx
add eax, edx
lea ecx, [ebp - 0x64]
push ecx
push edi
mov ecx, eax
call fcn.0049d340
test eax, eax
jns 0x4cc710
mov dword [ebp - 0x34], 2
push 0x533160
lea edx, [ebp - 0x34]
push edx
call fcn.004f4775
cmp dword [ebp - 0x4c], ebx
jne 0x4cc72a
push 0x533160
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], 2
call fcn.004f4775
lea ecx, [ebp - 0x4c]
call fcn.00406a30
mov edx, dword [eax]
mov edx, dword [edx + 4]
lea ecx, [ebp - 0x34]
push ecx
mov ecx, eax
call edx
mov edi, dword [eax]
mov ecx, 0x5537a9
mov byte [ebp - 4], 7
call fcn.004047e0
mov ecx, dword [0x552adc]
push ebx
push ebx
push edi
call fcn.0040f590
test al, al
lea ecx, [ebp - 0x34]
sete byte [ebp - 0x39]
mov byte [ebp - 4], 6
call fcn.0046b3e0
cmp byte [ebp - 0x39], bl
je 0x4cc867
push 0x533160
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], 3
call fcn.004f4775
call fcn.004174f0
mov eax, dword [0x552af0]
mov ecx, dword [eax]
cmp ecx, ebx
jne 0x4cc7a1
xor eax, eax
jmp 0x4cc7b7
mov edx, dword [eax + 8]
cmp edx, ebx
je 0x4cc7ad
mov edx, dword [edx + 0xc]
jmp 0x4cc7af
xor edx, edx
mov eax, dword [eax + 4]
imul eax, edx
add eax, ecx
mov edx, dword [eax + 0x18]
cmp edx, ebx
jne 0x4cc7c2
xor eax, eax
jmp 0x4cc7d8
mov ecx, dword [eax + 0x20]
cmp ecx, ebx
je 0x4cc7ce
mov ecx, dword [ecx + 0xc]
jmp 0x4cc7d0
xor ecx, ecx
mov eax, dword [eax + 0x1c]
imul eax, ecx
add eax, edx
push ebx
push ebx
lea ecx, [ebp - 0x64]
push ecx
push edi
mov ecx, eax
call fcn.004229e0
test eax, eax
js 0x4cc6fb
cmp dword [ebp - 0x64], ebx
jne 0x4cc808
push 0x533160
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 2
push eax
jmp 0x4cc70b
lea ecx, [ebp - 0x64]
call fcn.00406a30
mov edx, dword [eax]
mov edx, dword [edx + 4]
lea ecx, [ebp - 0x34]
push ecx
mov ecx, eax
call edx
mov edi, dword [eax]
mov ecx, 0x5537a9
mov byte [ebp - 4], 8
call fcn.004047e0
mov ecx, dword [0x552adc]
push ebx
push ebx
push edi
call fcn.0040f590
test al, al
lea ecx, [ebp - 0x34]
sete byte [ebp - 0x39]
mov byte [ebp - 4], 6
call fcn.0046b3e0
cmp byte [ebp - 0x39], bl
je 0x4cc867
push 0x533160
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 3
push eax
jmp 0x4cc70b
mov ecx, 0x553818
call fcn.004175a0
mov edi, dword [0x552af4]
mov ecx, 0x55380c
call fcn.004174f0
mov ecx, dword [0x552af0]
push str.text_pos_x
mov dword [ebp - 0x34], ecx
push ebx
mov ecx, edi
call fcn.00404740
mov ecx, eax
call fcn.004984d0
mov ecx, dword [ebp - 0x34]
push eax
call fcn.00477bc0
mov ecx, eax
call fcn.004e67f0
mov ecx, 0x553818
mov dword [ebp - 0x34], eax
call fcn.004175a0
mov edi, dword [0x552af4]
mov ecx, 0x55380c
call fcn.004174f0
mov edx, dword [0x552af0]
push str.text_pos_y
push ebx
mov ecx, edi
mov dword [ebp - 0x40], edx
call fcn.00404740
mov ecx, eax
call fcn.004984d0
mov ecx, dword [ebp - 0x40]
push eax
call fcn.00477bc0
mov ecx, eax
call fcn.004e67f0
mov ecx, 0x553818
mov dword [ebp - 0x40], eax
call fcn.004175a0
mov edi, dword [0x552af4]
mov ecx, 0x55380c
call fcn.004174f0
mov eax, dword [0x552af0]
push str.text_pos_center
push ebx
mov ecx, edi
mov dword [ebp - 0x14], eax
call fcn.00404740
mov ecx, eax
call fcn.004984d0
mov ecx, dword [ebp - 0x14]
push eax
call fcn.00477bc0
mov ecx, eax
call fcn.004e67f0
cmp eax, ebx
je 0x4cc980
lea ecx, [ebp - 0x30]
push ecx
call fcn.0040ba70
mov ecx, eax
call fcn.0040f680
push eax
lea edx, [ebp - 0x20]
push edx
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
cdq
sub eax, edx
sar eax, 1
neg eax
add dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
cdq
sub eax, edx
sar eax, 1
neg eax
add dword [ebp - 0x40], eax
mov ecx, 0x5537a9
call fcn.004047e0
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x34]
push eax
push ecx
mov ecx, dword [0x552adc]
call fcn.0040f510
lea ecx, [esi + 0x74]
call fcn.00406a30
mov edi, dword [eax + 4]
mov ecx, 0x5537a9
call fcn.004047e0
mov ecx, dword [0x552adc]
push ebx
push edi
call fcn.0043bd90
test al, al
jne 0x4cc9d7
mov dword [ebp - 0x14], 3
push 0x533160
lea edx, [ebp - 0x14]
jmp 0x4cc70a
push str.text_effect
push ebx
mov byte [esi + 0x6d], bl
call fcn.00417f90
mov ecx, eax
call fcn.00404740
mov ecx, eax
call fcn.004984d0
push eax
call fcn.00417f80
mov ecx, eax
call fcn.00477bc0
mov ecx, eax
call fcn.004e67f0
mov byte [esi + 0x58], bl
cmp eax, 0xfffffffe
jne 0x4cca15
mov byte [esi + 0x58], 1
jmp 0x4cca7b
cmp eax, ebx
jl 0x4cca7b
push eax
call fcn.00408750
lea ecx, [eax + 0x10]
call fcn.00406a30
mov ecx, eax
call fcn.0045bf20
push eax
lea ecx, [ebp - 0x34]
call fcn.0040e5a0
mov eax, dword [ebp - 0x34]
push eax
lea eax, [esi + 0x5c]
push eax
mov byte [ebp - 4], 9
call fcn.00417f80
mov ecx, eax
call fcn.0045bb70
mov ecx, eax
call fcn.0048efc0
test al, al
jne 0x4cca6f
push 0x533160
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 4
push ecx
jmp 0x4cc70b
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 6
call fcn.0046b3e0
push 2
call fcn.00417f90
mov ecx, eax
call fcn.00404740
mov edx, dword [eax + 4]
push 2
mov dword [esi + 8], edx
call fcn.00417f90
mov ecx, eax
call fcn.00404740
mov dword [eax + 4], ebx
push 5
mov byte [esi + 0x6c], 1
mov dword [esi + 4], ebx
mov dword [esi + 0x70], ebx
call fcn.00417f90
mov ecx, eax
call fcn.00404740
mov ecx, eax
call fcn.00485d50
test al, al
jne 0x4ccb06
push 2
call fcn.00417f90
mov ecx, eax
call fcn.00404740
test byte [eax + 0x18], 2
je 0x4ccb06
call fcn.0040ba70
mov ecx, eax
call fcn.0040f610
mov edi, eax
cmp edi, 0x1e
jge 0x4ccaef
mov edi, 0x1e
push 1
call fcn.00417f90
mov ecx, eax
call fcn.00404740
mov eax, dword [eax + 0x34]
imul eax, edi
mov dword [esi + 0x70], eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 4
call fcn.00466860
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f4f8b
mov esp, ebp
pop ebp
ret