Function at 0x41c064
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe98
cmp dword [0x4cd6a0], 0
push ebx
push esi
push edi
jne 0x41d04f
cmp dword [0x4d3b7c], 0
je 0x41c08f
cmp dword [0x4d3b80], 0
jne 0x41c096
xor eax, eax
jmp 0x41d0c0
push fcn.0041e604
push 0
push str.ICPUASM
call sym.ollydbg.exe__Registerotclass
add esp, 0xc
test eax, eax
je 0x41c0b5
xor eax, eax
jmp 0x41d0c0
push fcn.00425e40
push 0
push str.ICPUDUMP
call sym.ollydbg.exe__Registerotclass
add esp, 0xc
test eax, eax
je 0x41c0d4
xor eax, eax
jmp 0x41d0c0
push fcn.00426230
push 0
push str.ICPUSTACK
call sym.ollydbg.exe__Registerotclass
add esp, 0xc
test eax, eax
je 0x41c0f3
xor eax, eax
jmp 0x41d0c0
push fcn.0042a878
push 0
push str.ICPUREG
call sym.ollydbg.exe__Registerotclass
add esp, 0xc
test eax, eax
je 0x41c112
xor eax, eax
jmp 0x41d0c0
push 0x427a04
push 0
push str.ICPUINFO
call sym.ollydbg.exe__Registerotclass
add esp, 0xc
test eax, eax
je 0x41c131
xor eax, eax
jmp 0x41d0c0
lea edx, [ebp - 0x168]
mov ecx, dword [0x4d3b78]
push edx
push str.ICPU
push ecx
call sub.USER32.DLL_GetClassInfoA
test eax, eax
jne 0x41c1c8
xor eax, eax
xor edx, edx
mov dword [ebp - 0x168], eax
mov ebx, dword [0x4d3b78]
mov dword [ebp - 0x164], fcn.0041d1dc
mov dword [ebp - 0x160], edx
mov dword [ebp - 0x15c], 8
mov dword [ebp - 0x158], ebx
push str.ICO_CPU
push ebx
call sub.USER32.DLL_LoadIconA
mov dword [ebp - 0x154], eax
xor eax, eax
mov dword [ebp - 0x150], eax
xor edx, edx
mov dword [ebp - 0x14c], edx
xor ecx, ecx
mov dword [ebp - 0x148], ecx
lea eax, [ebp - 0x168]
mov dword [ebp - 0x144], str.ICPU
push eax
call sub.USER32.DLL_RegisterClassA
test ax, ax
jne 0x41c1c8
xor eax, eax
jmp 0x41d0c0
cmp dword [0x4cd8fd], 0
jne 0x41c4dc
xor edx, edx
xor ecx, ecx
mov dword [0x4cd8f5], edx
mov dword [0x4cd8d5], ecx
mov ax, word [0x4d54b4]
mov edi, 0x4cd6ac
mov word [0x4cd8d9], ax
mov dword [0x4cd8dd], 0xc4d2
movsx edx, word [0x4d5398]
mov dword [0x4cd8e1], edx
mov esi, str.CPU_disasm
mov cx, word [0x4d5394]
mov word [0x4cd8e5], cx
mov ax, word [0x4d9bac]
mov word [0x4cd8e7], ax
mov eax, edi
mov dword [0x4cd8f1], 0x447748
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov dword [0x4cd7c8], 0x4cd6a8
push 0x9011
mov edx, dword [0x4d5398]
push 0x4cd6a8
mov dword [0x4cd7e8], edx
call sym.ollydbg.exe__Setdumptype
mov dword [0x4cdcc2], 1
mov dword [0x4cdca2], 1
mov cx, word [0x4d54b4]
mov edi, 0x4cda79
mov word [0x4cdca6], cx
mov dword [0x4cdcaa], 0xc4d0
movsx eax, word [0x4d5398]
mov dword [0x4cdcae], eax
add esp, 8
mov dx, word [0x4d5394]
mov eax, edi
mov word [0x4cdcb2], dx
mov esi, str.CPU_dump
mov cx, word [0x4d9bac]
mov word [0x4cdcb4], cx
mov dword [0x4cdcbe], 0x447748
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov dword [0x4cdb95], 0x4cda75
push 0x1081
mov edx, dword [0x4d5398]
push 0x4cda75
mov dword [0x4cdbb5], edx
mov dword [0x4cdcd2], 0x1f
call sym.ollydbg.exe__Setdumptype
add esp, 8
xor ecx, ecx
mov dword [0x4ce08f], 1
mov dword [0x4ce06f], ecx
mov ax, word [0x4d54b4]
mov edi, 0x4cde46
mov word [0x4ce073], ax
mov dword [0x4ce077], 0x84d0
movsx edx, word [0x4d5398]
mov dword [0x4ce07b], edx
mov eax, edi
mov cx, word [0x4d5394]
mov esi, str.CPU_stack
mov word [0x4ce07f], cx
mov word [0x4ce081], 0
mov dword [0x4ce08b], 0x447748
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov dword [0x4cdf62], 0x4cde42
push 0x8014
mov edx, dword [0x4d5398]
push 0x4cde42
mov dword [0x4cdf82], edx
mov ecx, dword [0x4e2754]
mov dword [0x4ce0a7], ecx
mov dword [0x4ce09f], 0x8000
mov byte [0x4ce052], 0x10
call sym.ollydbg.exe__Setdumptype
add esp, 8
mov eax, dword [0x4d5398]
mov dword [0x4ce34f], eax
mov dword [0x4ce397], 0x100
mov dword [0x4ce3db], 0x4b56b2
mov byte [0x4ce41f], 4
mov dword [0x4ce34b], 1
push 0x4ce34b
call sym.ollydbg.exe__Defaultbar
pop ecx
xor edx, edx
xor ecx, ecx
mov dword [0x4ce430], edx
mov dword [0x4ce43c], ecx
mov edi, 0x4ce213
mov word [0x4ce440], 0
mov dword [0x4ce444], 0x85d0
movsx eax, word [0x4d5398]
mov dword [0x4ce448], eax
mov eax, edi
mov dx, word [0x4d5394]
mov esi, str.CPU_info
mov word [0x4ce44c], dx
mov dword [0x4ce458], 0x427614
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edx, dword [0x4d5398]
mov dword [0x4ceefc], edx
mov dword [0x4cef44], 0x100
mov ecx, dword [0x4b2e5c]
push ecx
call fcn.0041c000
pop ecx
mov byte [0x4cefcc], 0x30
mov dword [0x4ceef8], 1
push 0x4ceef8
call sym.ollydbg.exe__Defaultbar
xor eax, eax
pop ecx
mov dword [0x4cefdd], eax
mov dword [0x4cefe9], 1
mov word [0x4cefed], 0
mov dword [0x4ceff1], 0x85d0
movsx edx, word [0x4d5398]
mov dword [0x4ceff5], edx
mov edi, 0x4cedc0
mov cx, word [0x4d5394]
mov eax, edi
mov word [0x4ceff9], cx
mov ecx, 3
mov dword [0x4cf005], 0x428dc4
mov esi, str.CPU_registers
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ebx, dword [0x4d5394]
mov dword [0x4d3380], ebx
cmp dword [0x4d54b8], 0
je 0x41cad7
push 0x4d53a4
push ebx
push str.CPU_scheme
push 0x4b3906
call sub.KERNEL32.DLL_GetPrivateProfileIntA
mov dword [0x4d3380], eax
mov eax, dword [0x4d3380]
test eax, eax
jl 0x41c51d
cmp eax, 8
jl 0x41c529
mov edx, dword [0x4d5394]
mov dword [0x4d3380], edx
push 0x4d53a4
lea ecx, [ebp - 0x130]
push 0x100
push ecx
push 0x4b3899
push str.CPU_Disassembler
push 0x4b3906
call sub.KERNEL32.DLL_GetPrivateProfileStringA
mov eax, dword [0x4d9bac]
lea edx, [ebp - 0x14]
mov dword [ebp - 0x14], eax
push edx
lea ecx, [ebp - 0x10]
lea eax, [ebp - 0xc]
push ecx
push eax
lea edx, [ebp - 8]
lea ecx, [ebp - 4]
push edx
push ecx
lea eax, [ebp - 0x130]
push 0x4b38c2
push eax
call fcn.004a6ca8
add esp, 0x1c
cmp eax, 4
jl 0x41c609
cmp dword [ebp - 4], 0
jl 0x41c593
cmp dword [ebp - 4], 0xb
jl 0x41c59c
mov edx, dword [0x4d5398]
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 4]
mov dword [0x4cd7e8], ecx
mov dword [0x4cd8e1], ecx
cmp dword [ebp - 8], 0
jl 0x41c5b7
cmp dword [ebp - 8], 8
jl 0x41c5bf
mov eax, dword [0x4d5394]
mov dword [ebp - 8], eax
mov dx, word [ebp - 8]
mov word [0x4cd8e5], dx
cmp dword [ebp - 0x14], 0
jl 0x41c5d6
cmp dword [ebp - 0x14], 5
jl 0x41c5de
mov eax, dword [0x4d9bac]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0xc], 0
setne cl
and ecx, 1
cmp dword [ebp - 0x10], 0
mov dx, word [ebp - 0x14]
mov word [0x4cd8e7], dx
mov dword [0x4cd8d5], ecx
setne al
and eax, 1
mov word [0x4cd8d9], ax
push 0x4cd7e4
call sym.ollydbg.exe__Defaultbar
pop ecx
cmp dword [0x4d54bc], 0
je 0x41c6b2
push 0x4d53a4
lea edx, [ebp - 0x130]
push 0x100
push edx
push 0x4b3899
push str.CPU_Disassembler
push 0x4b392d
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea ebx, [ebp - 0x130]
xor edi, edi
mov dword [ebp - 0x30], 0x4cd7ec
jmp 0x41c6aa
inc ebx
xor eax, eax
mov al, byte [ebx]
cmp eax, 0x20
je 0x41c659
xor esi, esi
jmp 0x41c67a
mov eax, esi
xor edx, edx
add eax, eax
mov dl, byte [ebx]
lea eax, [eax + eax*4]
add eax, edx
add eax, 0xffffffd0
inc ebx
mov esi, eax
xor ecx, ecx
mov cl, byte [ebx]
push ecx
call fcn.004a7bbc
pop ecx
test eax, eax
jne 0x41c667
cmp esi, 3
jl 0x41c6b2
cmp esi, 0x8000
jg 0x41c6b2
mov eax, dword [ebp - 0x30]
mov dword [eax], esi
xor edx, edx
mov dl, byte [ebx]
cmp edx, 0x2c
jne 0x41c6b2
inc ebx
inc edi
add dword [ebp - 0x30], 4
cmp edi, dword [0x4cd7e4]
jl 0x41c65a
push 0x4d53a4
lea ecx, [ebp - 0x130]
push 0x100
push ecx
push 0x4b3899
push str.CPU_Dump
push 0x4b3906
call sub.KERNEL32.DLL_GetPrivateProfileStringA
mov eax, dword [0x4d9bac]
lea edx, [ebp - 0x14]
mov dword [ebp - 0x14], eax
push edx
lea ecx, [ebp - 0x18]
lea eax, [ebp - 0x10]
push ecx
push eax
lea edx, [ebp - 0xc]
lea ecx, [ebp - 8]
push edx
push ecx
lea eax, [ebp - 4]
lea edx, [ebp - 0x130]
push eax
push 0x4b38e5
push edx
call fcn.004a6ca8
add esp, 0x20
cmp eax, 5
jl 0x41c7a6
cmp dword [ebp - 4], 0
jl 0x41c720
cmp dword [ebp - 4], 0xb
jl 0x41c729
mov ecx, dword [0x4d5398]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov dword [0x4cdbb5], eax
mov dword [0x4cdcae], eax
cmp dword [ebp - 8], 0
jl 0x41c742
cmp dword [ebp - 8], 8
jl 0x41c74b
mov edx, dword [0x4d5394]
mov dword [ebp - 8], edx
mov cx, word [ebp - 8]
mov word [0x4cdcb2], cx
cmp dword [ebp - 0x14], 0
jl 0x41c762
cmp dword [ebp - 0x14], 5
jl 0x41c76a
mov eax, dword [0x4d9bac]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0xc], 0
setne cl
and ecx, 1
cmp dword [ebp - 0x10], 0
mov dx, word [ebp - 0x14]
mov word [0x4cdcb4], dx
mov dword [0x4cdca2], ecx
setne al
and eax, 1
mov edx, dword [ebp - 0x18]
mov word [0x4cdca6], ax
push edx
push 0x4cda75
call sym.ollydbg.exe__Setdumptype
add esp, 8
push 0x4cdbb1
call sym.ollydbg.exe__Defaultbar
pop ecx
cmp dword [0x4d54bc], 0
je 0x41c84f
push 0x4d53a4
lea ecx, [ebp - 0x130]
push 0x100
push ecx
push 0x4b3899
push str.CPU_Dump
push 0x4b392d
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea ebx, [ebp - 0x130]
xor edi, edi
mov dword [ebp - 0x30], 0x4cdbb9
jmp 0x41c847
inc ebx
xor eax, eax
mov al, byte [ebx]
cmp eax, 0x20
je 0x41c7f6
xor esi, esi
jmp 0x41c817
mov eax, esi
xor edx, edx
add eax, eax
mov dl, byte [ebx]
lea eax, [eax + eax*4]
add eax, edx
add eax, 0xffffffd0
inc ebx
mov esi, eax
xor ecx, ecx
mov cl, byte [ebx]
push ecx
call fcn.004a7bbc
pop ecx
test eax, eax
jne 0x41c804
cmp esi, 3
jl 0x41c84f
cmp esi, 0x8000
jg 0x41c84f
mov eax, dword [ebp - 0x30]
mov dword [eax], esi
xor edx, edx
mov dl, byte [ebx]
cmp edx, 0x2c
jne 0x41c84f
inc ebx
inc edi
add dword [ebp - 0x30], 4
cmp edi, dword [0x4cdbb1]
jl 0x41c7f7
push 0x4d53a4
lea ecx, [ebp - 0x130]
push 0x100
push ecx
push 0x4b3899
push str.CPU_Stack
push 0x4b3906
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea eax, [ebp - 0x10]
lea edx, [ebp - 0xc]
push eax
push edx
lea ecx, [ebp - 8]
lea eax, [ebp - 4]
push ecx
push eax
lea edx, [ebp - 0x130]
push 0x4b38c5
push edx
call fcn.004a6ca8
add esp, 0x18
cmp eax, 4
jne 0x41c8ff
cmp dword [ebp - 4], 0
jl 0x41c8a9
cmp dword [ebp - 4], 0xb
jl 0x41c8b2
mov ecx, dword [0x4d5398]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov dword [0x4cdf82], eax
mov dword [0x4ce07b], eax
cmp dword [ebp - 8], 0
jl 0x41c8cb
cmp dword [ebp - 8], 8
jl 0x41c8d4
mov edx, dword [0x4d5394]
mov dword [ebp - 8], edx
cmp dword [ebp - 0xc], 0
setne al
and eax, 1
cmp dword [ebp - 0x10], 0
mov cx, word [ebp - 8]
mov word [0x4ce07f], cx
mov dword [0x4ce06f], eax
setne dl
and edx, 1
mov word [0x4ce073], dx
push 0x4cdf7e
call sym.ollydbg.exe__Defaultbar
pop ecx
cmp dword [0x4d54bc], 0
je 0x41c9a8
push 0x4d53a4
lea ecx, [ebp - 0x130]
push 0x100
push ecx
push 0x4b3899
push str.CPU_Stack
push 0x4b392d
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea ebx, [ebp - 0x130]
xor edi, edi
mov dword [ebp - 0x30], 0x4cdf86
jmp 0x41c9a0
inc ebx
xor eax, eax
mov al, byte [ebx]
cmp eax, 0x20
je 0x41c94f
xor esi, esi
jmp 0x41c970
mov eax, esi
xor edx, edx
add eax, eax
mov dl, byte [ebx]
lea eax, [eax + eax*4]
add eax, edx
add eax, 0xffffffd0
inc ebx
mov esi, eax
xor ecx, ecx
mov cl, byte [ebx]
push ecx
call fcn.004a7bbc
pop ecx
test eax, eax
jne 0x41c95d
cmp esi, 3
jl 0x41c9a8
cmp esi, 0x8000
jg 0x41c9a8
mov eax, dword [ebp - 0x30]
mov dword [eax], esi
xor edx, edx
mov dl, byte [ebx]
cmp edx, 0x2c
jne 0x41c9a8
inc ebx
inc edi
add dword [ebp - 0x30], 4
cmp edi, dword [0x4cdf7e]
jl 0x41c950
push 0x4d53a4
lea ecx, [ebp - 0x130]
push 0x100
push ecx
push 0x4b3899
push str.CPU_Info
push 0x4b3906
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea eax, [ebp - 0x10]
lea edx, [ebp - 0xc]
push eax
push edx
lea ecx, [ebp - 8]
lea eax, [ebp - 4]
push ecx
push eax
lea edx, [ebp - 0x130]
push 0x4b38c5
push edx
call fcn.004a6ca8
add esp, 0x18
cmp eax, 4
jne 0x41ca38
cmp dword [ebp - 4], 0
jl 0x41ca02
cmp dword [ebp - 4], 0xb
jl 0x41ca0b
mov ecx, dword [0x4d5398]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov dword [0x4ce34f], eax
mov dword [0x4ce448], eax
cmp dword [ebp - 8], 0
jl 0x41ca24
cmp dword [ebp - 8], 8
jl 0x41ca2d
mov edx, dword [0x4d5394]
mov dword [ebp - 8], edx
mov cx, word [ebp - 8]
mov word [0x4ce44c], cx
push 0x4d53a4
lea eax, [ebp - 0x130]
push 0x100
push eax
push 0x4b3899
push str.CPU_Registers
push 0x4b3906
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0xc]
push edx
push ecx
lea eax, [ebp - 8]
lea edx, [ebp - 4]
push eax
push edx
lea ecx, [ebp - 0x130]
push 0x4b38c5
push ecx
call fcn.004a6ca8
add esp, 0x18
cmp eax, 4
jne 0x41cad7
cmp dword [ebp - 4], 0
jl 0x41ca92
cmp dword [ebp - 4], 0xb
jl 0x41ca9a
mov eax, dword [0x4d5398]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
mov dword [0x4ceefc], edx
mov dword [0x4ceff5], edx
cmp dword [ebp - 8], 0
jl 0x41cab5
cmp dword [ebp - 8], 8
jl 0x41cabd
mov eax, dword [0x4d5394]
mov dword [ebp - 8], eax
cmp dword [ebp - 0xc], 0
mov cx, word [ebp - 8]
setne al
mov word [0x4ceff9], cx
and eax, 1
mov dword [0x4cefe9], eax
mov edx, dword [0x4d5398]
mov eax, dword [0x4d5398]
cmp dword [0x4d54b8], 0
mov esi, dword [eax*4 + 0x4d4920]
mov ebx, dword [edx*4 + 0x4d48f4]
je 0x41cc5e
push 0x4d53a4
lea eax, [ebp - 0x130]
push 0x100
push eax
push 0x4b3899
push 0x4b38db
push 0x4b38d1
call sub.KERNEL32.DLL_GetPrivateProfileStringA
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x28]
push edx
push ecx
lea eax, [ebp - 0x24]
lea edx, [ebp - 0x20]
push eax
push edx
lea ecx, [ebp - 0x1c]
lea eax, [ebp - 0x130]
push ecx
push 0x4b38c2
push eax
call fcn.004a6ca8
add esp, 0x1c
mov edi, eax
lea eax, [ebp - 0x130]
push 0x4d53a4
push 0x100
push eax
push 0x4b3899
push str.CPU_subwindows
push 0x4b38d1
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push 0x4d3364
push 0x4d335c
push 0x4d3354
push 0x4d334c
push 0x4d3360
push 0x4d3358
push 0x4d3350
push 0x4d3348
push 0x4b38df
lea edx, [ebp - 0x130]
push edx
call fcn.004a6ca8
add esp, 0x28
add edi, eax
lea ecx, [ebp - 0x140]
push ecx
mov eax, dword [0x4d3b80]
push eax
call sub.USER32.DLL_GetClientRect
cmp dword [0x4d54ac], 0
jne 0x41cc60
push 0x1e
call fcn.004a222c
mov edx, dword [ebp - 0x138]
sub edx, eax
push edx
push 0x20
call fcn.004a222c
pop ecx
sub ecx, eax
cmp ecx, dword [ebp - 0x1c]
jge 0x41cc0a
push 0x1e
call fcn.004a222c
mov edx, dword [ebp - 0x138]
sub edx, eax
push edx
push 0x20
call fcn.004a222c
pop ecx
sub ecx, eax
mov dword [ebp - 0x1c], ecx
push 0x1f
call fcn.004a222c
mov edx, dword [ebp - 0x134]
sub edx, eax
push edx
push 0x21
call fcn.004a222c
pop ecx
sub ecx, eax
cmp ecx, dword [ebp - 0x20]
jge 0x41cc46
push 0x1f
call fcn.004a222c
mov edx, dword [ebp - 0x134]
sub edx, eax
push edx
push 0x21
call fcn.004a222c
pop ecx
sub ecx, eax
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x1c], 0
jge 0x41cc51
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x20], 0
jge 0x41cc60
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x41cc60
xor edi, edi
cmp edi, 0xd
je 0x41cd36
push 2
call fcn.004a222c
mov edx, ebx
push 2
shl edx, 2
lea edx, [edx + edx*2]
lea edx, [edx + edx*4]
add eax, edx
add eax, 3
mov dword [0x4d3350], eax
call fcn.004a222c
lea ecx, [ebx + ebx*4]
mov edx, esi
shl edx, 2
mov dword [ebp - 0x1c], 0x80000000
lea ecx, [ebx + ecx*4]
add ecx, ecx
add eax, ecx
add eax, 2
mov dword [0x4d3360], eax
mov eax, esi
add eax, eax
mov dword [ebp - 0x20], 0x80000000
lea eax, [eax + eax*8]
push 0x20
add eax, 3
add edx, eax
mov dword [0x4d3358], eax
add edx, 2
xor eax, eax
mov dword [0x4d3348], edx
mov dword [0x4d334c], eax
mov dword [0x4d335c], eax
mov dword [0x4d3364], eax
mov dword [0x4d3354], eax
call fcn.004a222c
mov edi, eax
mov eax, ebx
shl eax, 2
add edi, edi
add edi, dword [0x4d3360]
push 2
lea eax, [eax + eax*8]
add edi, eax
call fcn.004a222c
add edi, eax
add edi, 2
mov dword [ebp - 0x24], edi
push 0x21
call fcn.004a222c
mov ebx, eax
push 0x1f
add ebx, ebx
call fcn.004a222c
add ebx, eax
mov eax, esi
shl eax, 3
add ebx, dword [0x4d3348]
sub eax, esi
add eax, eax
add ebx, eax
add ebx, 4
mov dword [ebp - 0x28], ebx
xor edx, edx
xor eax, eax
mov dword [0x4d3374], edx
mov dword [0x4d336c], edx
cmp dword [ebp - 0x2c], 3
mov dword [0x4d3370], edx
mov dword [0x4d3368], edx
mov dword [0x4d3378], eax
mov ebx, 0x56cf0000
jne 0x41cd68
or ebx, 0x1000000
push 0
mov eax, dword [0x4d3b78]
push eax
mov edx, dword [0x4d3b80]
push edx
mov ecx, dword [ebp - 0x28]
push ecx
mov eax, dword [ebp - 0x24]
push eax
mov edx, dword [ebp - 0x20]
push edx
mov ecx, dword [ebp - 0x1c]
push ecx
push ebx
push 0x4b38db
push str.ICPU
call sub.USER32.DLL_CreateMDIWindowA
mov esi, eax
mov dword [0x4cd6a0], esi
test esi, esi
je 0x41cff6
xor ebx, ebx
push 0
mov eax, dword [0x4d3b78]
push eax
push 0
push esi
push 0
push 0
push 0
push 0
push 0x50300000
push 0x4b3899
push str.ICPUASM
push 0
call sub.USER32.DLL_CreateWindowExA
mov dword [0x4cd6a4], eax
mov edi, eax
mov dword [0x4cd6a8], edi
test edi, edi
je 0x41ce08
push 0x4cd6a8
push 0
push edi
call sub.USER32.DLL_SetWindowLongA
movsx eax, word [0x4cd8d9]
push eax
push 0
mov edx, dword [0x4cd6a8]
push edx
call sub.USER32.DLL_ShowScrollBar
jmp 0x41ce0d
mov ebx, 1
push 0
mov eax, dword [0x4d3b78]
push eax
push 0
mov edx, dword [0x4cd6a0]
push edx
push 0
push 0
push 0
push 0
push 0x50300000
push 0x4b3899
push str.ICPUDUMP
push 0
call sub.USER32.DLL_CreateWindowExA
mov esi, eax
mov dword [0x4cda75], esi
test esi, esi
je 0x41ce6d
push 0x4cda75
push 0
push esi
call sub.USER32.DLL_SetWindowLongA
movsx eax, word [0x4cdca6]
push eax
push 0
mov edx, dword [0x4cda75]
push edx
call sub.USER32.DLL_ShowScrollBar
jmp 0x41ce72
mov ebx, 1
push 0
mov eax, dword [0x4d3b78]
push eax
push 0
mov edx, dword [0x4cd6a0]
push edx
push 0
push 0
push 0
push 0
push 0x50300000
push 0x4b3899
push str.ICPUSTACK
push 0
call sub.USER32.DLL_CreateWindowExA
mov esi, eax
mov dword [0x4cde42], esi
test esi, esi
je 0x41ced2
push 0x4cde42
push 0
push esi
call sub.USER32.DLL_SetWindowLongA
movsx eax, word [0x4ce073]
push eax
push 0
mov edx, dword [0x4cde42]
push edx
call sub.USER32.DLL_ShowScrollBar
jmp 0x41ced7
mov ebx, 1
push 0
mov eax, dword [0x4d3b78]
push eax
push 0
mov edx, dword [0x4cd6a0]
push edx
push 0
push 0
push 0
push 0
push 0x50000000
push 0x4b3899
push str.ICPUINFO
push 0
call sub.USER32.DLL_CreateWindowExA
mov esi, eax
mov dword [0x4ce20f], esi
test esi, esi
jne 0x41cf17
mov ebx, 1
push 0
mov eax, dword [0x4d3b78]
push eax
push 0
mov edx, dword [0x4cd6a0]
push edx
push 0
push 0
push 0
push 0
push 0x50000000
push 0x4b3899
push str.ICPUREG
push 0
call sub.USER32.DLL_CreateWindowExA
mov esi, eax
mov dword [0x4cedbc], esi
test esi, esi
jne 0x41cf57
mov ebx, 1
test ebx, ebx
je 0x41cff6
mov eax, dword [0x4cd6a8]
test eax, eax
je 0x41cf76
push eax
call sub.USER32.DLL_DestroyWindow
xor edx, edx
mov dword [0x4cd6a8], edx
mov eax, dword [0x4cda75]
test eax, eax
je 0x41cf8d
push eax
call sub.USER32.DLL_DestroyWindow
xor edx, edx
mov dword [0x4cda75], edx
cmp dword [0x4cde42], 0
je 0x41cfa9
mov ecx, dword [0x4cde42]
push ecx
call sub.USER32.DLL_DestroyWindow
xor eax, eax
mov dword [0x4cde42], eax
cmp dword [0x4ce20f], 0
je 0x41cfc6
mov edx, dword [0x4ce20f]
push edx
call sub.USER32.DLL_DestroyWindow
xor ecx, ecx
mov dword [0x4ce20f], ecx
cmp dword [0x4cedbc], 0
je 0x41cfe2
mov eax, dword [0x4cedbc]
push eax
call sub.USER32.DLL_DestroyWindow
xor edx, edx
mov dword [0x4cedbc], edx
mov ecx, dword [0x4cd6a0]
push ecx
call fcn.004547e4
pop ecx
xor eax, eax
mov dword [0x4cd6a0], eax
cmp dword [0x4cd6a0], 0
jne 0x41d011
push str.Unable_to_create_CPU_window_or_one_of_its_parts
call sym.ollydbg.exe__Error
pop ecx
xor eax, eax
jmp 0x41d0c0
push 0
push 0
push 0x470
mov edx, dword [0x4cd6a0]
push edx
call sub.USER32.DLL_SendMessageA
mov ecx, dword [0x4cd6a4]
push ecx
push 0
push 0x471
mov eax, dword [0x4cd6a0]
push eax
call sub.USER32.DLL_SendMessageA
push 0
push 0
mov edx, dword [0x4cd6a0]
push edx
call sub.USER32.DLL_InvalidateRect
mov eax, dword [0x4d57cc]
test eax, eax
je 0x41d06c
cmp eax, 3
je 0x41d06c
cmp eax, 4
je 0x41d06c
cmp eax, 6
je 0x41d06c
cmp eax, 7
jne 0x41d0bb
cmp dword [ebp + 8], 0
je 0x41d08c
push 0
mov edx, dword [0x4cd6a0]
push edx
push 0x222
mov ecx, dword [0x4d3b80]
push ecx
call sub.USER32.DLL_SendMessageA
mov eax, dword [0x4cd6a0]
push eax
call sub.USER32.DLL_IsZoomed
test eax, eax
jne 0x41d0a9
push 9
mov edx, dword [0x4cd6a0]
push edx
call sub.USER32.DLL_ShowWindow
cmp dword [ebp + 8], 0
je 0x41d0bb
mov ecx, dword [0x4cd6a0]
push ecx
call sub.USER32.DLL_SetFocus
mov eax, dword [0x4cd6a0]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret