Function at 0x4cbb70
Capabilities:
Allocate thread local storage

Disassembly:
jmp 0x4cbfa0
mov eax, dword [0x598dd0]
push esi
cmp eax, 1
push edi
jne 0x4cbfc0
push 0x6e
push 0x59ab64
push 6
call fcn.004bfbc0
add esp, 0xc
pop edi
pop esi
ret
mov eax, dword [0x5994b8]
test eax, eax
je 0x4cbfe9
mov dword [0x635b1c], 0x10
mov dword [0x635b20], 0x20
mov dword [0x635a98], 0
jmp 0x4cbffd
mov dword [0x635b1c], 8
mov dword [0x635b20], 0x10
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x59ab88
mov dword [0x635ae4], 3
mov dword [0x635af0], 0x28
call ebx
inc eax
push eax
call fcn.004a4e45
mov ecx, dword [0x59ab90]
add esp, 4
mov dword [eax], ecx
mov edx, dword [0x59ab94]
mov dword [eax + 4], edx
push 0x59ab98
mov dword [0x635ae0], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov ecx, dword [str.Graphic]
add esp, 4
mov dword [eax], ecx
mov edx, dword [0x59aba4]
mov dword [eax + 4], edx
push 0x59aba8
mov dword [0x635ae8], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov edx, dword [str.CHILDICON]
mov ecx, eax
add esp, 4
mov dword [ecx], edx
mov edx, dword [0x59abb8]
push 0x59abc0
mov dword [ecx + 4], edx
mov dx, word [0x59abbc]
mov word [ecx + 8], dx
mov dword [0x635aec], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov ecx, 8
mov esi, str.Help_not_available_for_menu_item
mov edi, eax
add esp, 4
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0x59ac08
mov dword [0x635af4], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov ecx, dword [str.FullWnd]
add esp, 4
mov dword [eax], ecx
mov edx, dword [0x59ac14]
mov dword [eax + 4], edx
push 0x59ac18
mov dword [0x635af8], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov ecx, dword [str._Closed]
add esp, 4
mov dword [eax], ecx
mov edx, dword [0x59ac24]
mov dword [eax + 4], edx
push 0x59ac28
mov dword [0x635b04], eax
call ebx
inc eax
push eax
call fcn.004a4e45
add esp, 4
mov ecx, eax
mov edx, dword [str.Mark_Text__]
push 0x59ac48
mov dword [ecx], edx
mov edx, dword [0x59ac3c]
mov dword [ecx + 4], edx
mov edx, dword [0x59ac40]
mov dword [ecx + 8], edx
mov dl, byte [0x59ac44]
mov byte [ecx + 0xc], dl
mov dword [0x635b0c], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov edx, dword [str.Input_pending_in]
mov ecx, eax
add esp, 4
mov dword [ecx], edx
mov edx, dword [0x59ac60]
push 0x59ac70
mov dword [ecx + 4], edx
mov edx, dword [0x59ac64]
mov dword [ecx + 8], edx
mov edx, dword [0x59ac68]
mov dword [ecx + 0xc], edx
mov dx, word [0x59ac6c]
mov word [ecx + 0x10], dx
mov dword [0x635afc], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov edx, dword [str.Mark_Graphics__]
mov ecx, eax
add esp, 4
mov dword [ecx], edx
mov edx, dword [0x59ac88]
push 0x59ac98
mov dword [ecx + 4], edx
mov edx, dword [0x59ac8c]
mov dword [ecx + 8], edx
mov edx, dword [0x59ac90]
mov dword [ecx + 0xc], edx
mov dl, byte [0x59ac94]
mov byte [ecx + 0x10], dl
mov dword [0x635b10], eax
call ebx
inc eax
push eax
call fcn.004a4e45
add esp, 4
mov ecx, 5
mov esi, str.Paste_input_pending
mov edi, eax
rep movsd dword es:[edi], dword [esi]
push 0x59acc0
mov dword [0x635b00], eax
call ebx
inc eax
push eax
call fcn.004a4e45
add esp, 4
mov ecx, 6
mov esi, str.Mouse_input_pending_in
mov edi, eax
rep movsd dword es:[edi], dword [esi]
push 0x59acf0
mov dword [0x635b08], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov edx, dword [str.Select_Text__]
mov ecx, eax
add esp, 4
mov dword [ecx], edx
mov edx, dword [0x59ad04]
mov dword [ecx + 4], edx
mov edx, dword [0x59ad08]
mov dword [ecx + 8], edx
mov dx, word [0x59ad0c]
mov word [ecx + 0xc], dx
mov dl, byte [0x59ad0e]
push str.Select_Graphics_in
mov byte [ecx + 0xe], dl
mov dword [0x635b14], eax
call ebx
inc eax
push eax
call fcn.004a4e45
add esp, 4
mov ecx, 5
mov esi, str.Select_graphics_in
mov edi, eax
rep movsd dword es:[edi], dword [esi]
push 0x59ad38
mov dword [0x635b18], eax
call ebx
inc eax
push eax
call fcn.004a4e45
add esp, 4
mov ecx, 6
mov esi, str.Error__Printing_Aborted
mov edi, eax
rep movsd dword es:[edi], dword [esi]
push 0x59ad68
mov dword [0x635aa0], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov ecx, 7
mov esi, 0x59ad88
mov edi, eax
add esp, 4
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x59ada8
mov dword [0x635aa4], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov edx, dword [str.No_Default_Printer]
mov ecx, eax
add esp, 4
mov dword [ecx], edx
mov edx, dword [0x59adc0]
push str.No_printer_driver
mov dword [ecx + 4], edx
mov edx, dword [0x59adc4]
mov dword [ecx + 8], edx
mov edx, dword [0x59adc8]
mov dword [ecx + 0xc], edx
mov dx, word [0x59adcc]
mov word [ecx + 0x10], dx
mov dl, byte [0x59adce]
mov byte [ecx + 0x12], dl
mov dword [0x635aa8], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov edx, dword [str.No_Printer_Driver]
mov ecx, eax
add esp, 4
mov dword [ecx], edx
mov edx, dword [0x59ade8]
push str.Print_:_Printing_Error
mov dword [ecx + 4], edx
mov edx, dword [0x59adec]
mov dword [ecx + 8], edx
mov edx, dword [0x59adf0]
mov dword [ecx + 0xc], edx
mov dx, word [0x59adf4]
mov word [ecx + 0x10], dx
mov dword [0x635aac], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov ecx, 5
mov esi, str.Print:_Printing_Error
mov edi, eax
add esp, 4
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x59ae28
mov dword [0x635ab0], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov edx, dword [str.Cancel]
mov ecx, eax
add esp, 4
mov dword [ecx], edx
mov dx, word [0x59ae34]
push 0x59ae38
mov word [ecx + 4], dx
mov dl, byte [0x59ae36]
mov byte [ecx + 6], dl
mov dword [0x635ab4], eax
call ebx
inc eax
push eax
call fcn.004a4e45
add esp, 4
mov ecx, 6
mov esi, str.Printing_In_Progress...
mov edi, eax
rep movsd dword es:[edi], dword [esi]
push 0x59ae68
mov dword [0x635ab8], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov edx, dword [str.Printing]
mov ecx, eax
add esp, 4
mov dword [ecx], edx
mov edx, dword [0x59ae78]
push 0x59ae80
mov dword [ecx + 4], edx
mov dx, word [0x59ae7c]
mov word [ecx + 8], dx
mov dword [0x635abc], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov ecx, 7
mov esi, str.Error__Loading_printer_driver
mov edi, eax
add esp, 4
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x59aec0
mov dword [0x635ac0], eax
call ebx
inc eax
push eax
call fcn.004a4e45
mov ecx, 5
mov esi, str.Print:_Internal_Error
mov edi, eax
add esp, 4
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov dword [0x635ac4], eax
mov dword [0x598dd0], 1
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
mov dword [0x598e68], eax
pop ebx
jne 0x4cc493
push 0xec
push 0x59aef0
push 5
call fcn.004bfc90
add esp, 0xc
pop edi
pop esi
ret
push 0x18
call fcn.004a4e45
add esp, 4
mov dword [0x598e70], eax
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x4cc770
call fcn.004bb510
add esp, 4
test eax, eax
jne 0x4cc4ce
push 0xf9
push 0x59af14
push 5
call fcn.004bfc90
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x598e74], eax
call fcn.004bb580
xor edi, edi
mov dword [0x598e0c], eax
cmp eax, edi
jne 0x4cc4fd
push 0x102
push 0x59af38
push 5
call fcn.004bfc90
add esp, 0xc
call fcn.004bb590
cmp eax, edi
mov dword [0x598e10], eax
jne 0x4cc51f
push 0x108
push 0x59af5c
push 5
call fcn.004bfc90
add esp, 0xc
call fcn.004bb540
cmp eax, edi
mov dword [0x598e14], eax
jne 0x4cc541
push 0x10e
push 0x59af80
push 5
call fcn.004bfc90
add esp, 0xc
call fcn.004cc670
test eax, eax
jne 0x4cc55e
push 0x11c
push 0x59afa4
push 5
call fcn.004bfc90
add esp, 0xc
cmp dword [0x5b350c], edi
jne 0x4cc5ba
cmp dword [0x598dd8], edi
jne 0x4cc5ba
call dword [sym.imp.USER32.dll_CreateMenu]
cmp eax, edi
mov dword [0x598dd8], eax
jne 0x4cc591
push 0x129
push 0x59afc8
push 5
call fcn.004bfc20
add esp, 0xc
call fcn.004cf060
test eax, eax
jne 0x4cc5ae
push 0x12f
push 0x59afec
push 7
call fcn.004bfc20
add esp, 0xc
mov dword [0x59ab60], edi
mov dword [0x598e60], edi
call fcn.004cc820
mov eax, dword [0x635af0]
lea ecx, [eax*4]
push ecx
call fcn.004a4e45
add esp, 4
cmp eax, edi
mov dword [0x598dd4], eax
jne 0x4cc5f1
push 0x14b
push 0x59b010
push 5
call fcn.004bfc20
add esp, 0xc
mov ecx, dword [0x635af0]
xor eax, eax
cmp ecx, edi
jle 0x4cc612
mov edx, dword [0x598dd4]
inc eax
mov dword [edx + eax*4 - 4], edi
mov ecx, dword [0x635af0]
cmp eax, ecx
jl 0x4cc5fd
call fcn.004c0d80
mov esi, eax
cmp esi, edi
jne 0x4cc631
push 0x158
push 0x59b034
push 5
call fcn.004bfc90
add esp, 0xc
cmp dword [0x5994b8], edi
je 0x4cc642
push esi
call fcn.004b9de0
add esp, 4
call fcn.004cc8e0
test eax, eax
jne 0x4cc65f
push 0x162
push 0x59b058
push 5
call fcn.004bfc90
add esp, 0xc
call fcn.004bbb30
pop edi
pop esi
ret