Function at 0x4cf040
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x1043
push 0
push 0
dec ecx
jne 0x4cf048
push ecx
push ebx
push esi
push edi
lea eax, [ebp - 0x1a0]
mov edx, dword [0x41f228]
call fcn.00406590
xor eax, eax
push ebp
push 0x4cffa7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4d88d8]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8ed4]
mov byte [eax], 0
mov eax, dword [0x4d8af0]
mov byte [eax], 0
mov eax, dword [0x4d8db4]
mov byte [eax], 0
call fcn.0040319c
dec eax
jl 0x4cf0ba
lea edx, [ebp - 0x81cc]
mov eax, 1
call fcn.004031fc
mov eax, dword [ebp - 0x81cc]
call fcn.004cef50
test eax, eax
jne 0x4cf135
lea edx, [ebp - 0x81d0]
xor eax, eax
call fcn.004031fc
mov edx, dword [ebp - 0x81d0]
mov eax, dword [0x4d8e6c]
call fcn.004036dc
mov eax, dword [0x4d8e6c]
mov edx, 1
call fcn.00403f30
mov eax, dword [0x4d8e6c]
mov edx, 0x80
call fcn.00403f58
push 0
mov edx, dword [0x4d8a88]
mov eax, dword [0x4d8e6c]
mov ecx, 4
call fcn.00403844
mov eax, dword [0x4d8e6c]
call fcn.00403884
mov eax, dword [0x4d8a88]
cmp dword [eax], 0
je 0x4cf128
mov eax, dword [0x4d8af0]
mov byte [eax], 1
mov edx, dword [0x4d8c28]
xor eax, eax
call fcn.004031fc
mov eax, dword [0x4d8af0]
cmp byte [eax], 0
jne 0x4cf21b
call fcn.0040319c
dec eax
jge 0x4cf21b
lea edx, [ebp - 0x81d8]
mov eax, 0x320
call fcn.004578c8
mov ecx, dword [ebp - 0x81d8]
lea eax, [ebp - 0x81d4]
mov edx, 0x4cffc0
call fcn.00405dbc
mov eax, dword [ebp - 0x81d4]
call fcn.00405f70
mov ecx, eax
mov edx, 0x4d8730
xor eax, eax
call fcn.004203c8
test al, al
je 0x4cf1e7
lea edx, [ebp - 0x81dc]
mov eax, 0x4d8730
call fcn.0040a99c
mov edx, dword [ebp - 0x81dc]
mov eax, dword [0x4d8c28]
call fcn.00405b00
lea edx, [ebp - 0x81e0]
mov eax, dword [0x4d8c28]
mov eax, dword [eax]
call fcn.00409b18
mov edx, dword [ebp - 0x81e0]
mov eax, dword [0x4d8c28]
call fcn.00405b00
mov eax, dword [0x4d8a88]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8af0]
mov byte [eax], 1
jmp 0x4cf21b
push 0x10
push 0x4cffcc
lea edx, [ebp - 0x81e4]
mov eax, 0x323
call fcn.004578c8
mov eax, dword [ebp - 0x81e4]
call fcn.00405f70
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 2
call fcn.00405a94
mov eax, dword [0x4d8af0]
cmp byte [eax], 0
jne 0x4cf268
mov edx, dword [0x4d8c28]
mov eax, 1
call fcn.004031fc
mov edx, dword [0x4d8c28]
mov edx, dword [edx]
mov eax, 0x4cffe4
call fcn.00427270
test eax, eax
jne 0x4cf25f
mov eax, dword [0x4d8c28]
mov edx, 0x4cfff0
call fcn.00405d78
mov eax, dword [0x4d8c28]
mov eax, dword [0x4d8a88]
xor edx, edx
mov dword [eax], edx
call fcn.00402f54
mov edx, dword [0x4d8c28]
mov edx, dword [edx]
mov eax, dword [0x4d8e6c]
call fcn.004036dc
mov eax, dword [0x4d8e6c]
mov edx, 1
call fcn.00403f30
call fcn.00402f54
test eax, eax
jle 0x4cf2f1
lea edx, [ebp - 0x81e8]
mov eax, 0xd1
call fcn.004578c8
lea eax, [ebp - 0x81e8]
mov edx, dword [0x4d8c28]
mov edx, dword [edx]
call fcn.00405d78
mov eax, dword [ebp - 0x81e8]
call fcn.00405f70
mov edx, eax
lea eax, [ebp - 0x81c8]
call fcn.0040a764
push 0x10
push 0x4cfff8
lea eax, [ebp - 0x81c8]
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 2
call fcn.00405a94
mov esi, 0x10
lea ebx, [ebp - 0x1a0]
lea edi, [ebp - 0x120]
mov eax, ebx
call fcn.00405aac
xor eax, eax
mov dword [ebx + 0x40], eax
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
add edi, 8
add ebx, 4
dec esi
jne 0x4cf302
mov esi, 0x64
mov ebx, dword [0x4d8d30]
mov edx, dword [0x41f018]
mov eax, 0x31d
call fcn.00406ad4
mov edi, eax
mov dword [ebx], edi
mov eax, edi
call fcn.00405aac
mov eax, dword [ebx]
mov byte [eax + 0x31c], 0x20
add ebx, 4
dec esi
jne 0x4cf329
mov edx, dword [0x4d8a88]
mov edx, dword [edx]
mov eax, dword [0x4d8e6c]
call fcn.00403f58
push 0
mov edx, 0x4ffd50
mov eax, dword [0x4d8e6c]
mov ecx, 0x20
call fcn.00403844
mov eax, dword [0x4d8afc]
mov edx, 0x1e
call fcn.004061f8
mov esi, 1
mov ebx, 0x4ffd51
mov eax, dword [0x4d8afc]
call fcn.00405fc8
movzx edx, byte [ebx]
mov byte [eax + esi - 1], dl
inc esi
inc ebx
cmp esi, 0x1f
jne 0x4cf394
call fcn.00402f54
test eax, eax
jg 0x4cf3e4
lea eax, [ebp - 0x81ec]
push eax
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
mov ecx, 0xa
mov edx, 1
call fcn.00405fd0
mov eax, dword [ebp - 0x81ec]
mov edx, 0x4d0010
call fcn.00405ebc
je 0x4cf44f
lea edx, [ebp - 0x81f0]
mov eax, 0x389
call fcn.004578c8
mov eax, dword [ebp - 0x81f0]
call fcn.00405f70
mov edx, eax
lea eax, [ebp - 0x81c8]
call fcn.0040a764
push 0x10
lea eax, [ebp - 0x81f4]
push eax
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
mov ecx, 0xa
mov edx, 1
call fcn.00405fd0
mov eax, dword [ebp - 0x81f4]
call fcn.00405f70
push eax
lea eax, [ebp - 0x81c8]
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 1
call fcn.00405a94
mov byte [0x507d54], 0
mov eax, dword [0x4d8e04]
mov byte [eax], 0
lea eax, [ebp - 0x81f8]
push eax
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
mov ecx, 2
mov edx, 0x14
call fcn.00405fd0
mov eax, dword [ebp - 0x81f8]
mov edx, 0x4d0024
call fcn.00405ebc
je 0x4cf633
lea eax, [ebp - 0x81fc]
push eax
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
mov ecx, 0xb
mov edx, 1
call fcn.00405fd0
mov eax, dword [ebp - 0x81fc]
mov edx, 0x4d0030
call fcn.00405ebc
jne 0x4cf509
mov eax, dword [0x4d8afc]
call fcn.00405fc8
add eax, 8
mov edx, 0x507d54
mov ecx, 0x15
call fcn.00402fa0
mov byte [0x507d4f], 0
mov eax, dword [0x4d8e04]
mov byte [eax], 1
push 0x507d54
mov edx, 0x507d54
mov eax, 0x507d6c
mov ecx, 0x15
call fcn.004ceadc
jmp 0x4cf6d6
lea eax, [ebp - 0x8200]
push eax
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
mov ecx, 0xb
mov edx, 1
call fcn.00405fd0
mov eax, dword [ebp - 0x8200]
mov edx, 0x4d0044
call fcn.00405ebc
jne 0x4cf5c3
mov eax, dword [0x4d8e04]
mov byte [eax], 1
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
movzx eax, byte [eax + 0x1a]
add eax, 0x13
mov edx, dword [0x4d8afc]
mov edx, dword [edx]
movzx eax, byte [edx + eax - 1]
mov edx, dword [0x4d8afc]
mov edx, dword [edx]
movzx edx, byte [edx + 0x1c]
add edx, 0x13
mov ecx, dword [0x4d8afc]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx - 1]
or al, dl
mov edx, dword [0x4d8afc]
mov edx, dword [edx]
movzx edx, byte [edx + 0x19]
add edx, 0x13
mov ecx, dword [0x4d8afc]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx - 1]
mov ecx, dword [0x4d8afc]
mov ecx, dword [ecx]
movzx ecx, byte [ecx + 0x1b]
add ecx, 0x13
mov ebx, dword [0x4d8afc]
mov ebx, dword [ebx]
movzx ecx, byte [ebx + ecx - 1]
or dl, cl
and al, dl
mov byte [0x507d4f], al
jmp 0x4cf6d6
lea edx, [ebp - 0x8204]
mov eax, 0x394
call fcn.004578c8
mov eax, dword [ebp - 0x8204]
call fcn.00405f70
mov edx, eax
lea eax, [ebp - 0x81c8]
call fcn.0040a764
push 0x10
lea eax, [ebp - 0x8208]
push eax
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
mov ecx, 0xa
mov edx, 1
call fcn.00405fd0
mov eax, dword [ebp - 0x8208]
call fcn.00405f70
push eax
lea eax, [ebp - 0x81c8]
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 1
call fcn.00405a94
jmp 0x4cf6d6
lea eax, [ebp - 0x820c]
push eax
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
mov ecx, 0xb
mov edx, 1
call fcn.00405fd0
mov eax, dword [ebp - 0x820c]
mov edx, 0x4d0044
call fcn.00405ebc
jne 0x4cf66b
mov byte [0x507d4f], 0
jmp 0x4cf6d6
lea edx, [ebp - 0x8210]
mov eax, 0x394
call fcn.004578c8
mov eax, dword [ebp - 0x8210]
call fcn.00405f70
mov edx, eax
lea eax, [ebp - 0x81c8]
call fcn.0040a764
push 0x10
lea eax, [ebp - 0x8214]
push eax
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
mov ecx, 0xa
mov edx, 1
call fcn.00405fd0
mov eax, dword [ebp - 0x8214]
call fcn.00405f70
push eax
lea eax, [ebp - 0x81c8]
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 1
call fcn.00405a94
mov eax, dword [0x4d902c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8988]
xor edx, edx
mov dword [eax], edx
jmp 0x4cfa83
mov eax, dword [0x4d8c24]
inc dword [eax]
mov eax, dword [0x4d8c24]
mov eax, dword [eax]
inc eax
push eax
mov eax, dword [0x4d8e80]
mov ecx, 1
mov edx, dword [0x41f270]
call fcn.00406d74
add esp, 4
mov eax, dword [0x4d8c24]
mov eax, dword [eax]
inc eax
push eax
mov eax, dword [0x4d8c84]
mov ecx, 1
mov edx, dword [0x41f4fc]
call fcn.00406d74
add esp, 4
push 0
mov edx, dword [0x4d8d4c]
mov eax, dword [0x4d8e6c]
mov ecx, 2
call fcn.00403844
push 0
mov ecx, dword [0x4d8d4c]
movzx ecx, word [ecx]
mov edx, 0x4ffd50
mov eax, dword [0x4d8e6c]
call fcn.00403844
call fcn.00402f54
test eax, eax
jle 0x4cf7b7
lea edx, [ebp - 0x8218]
mov eax, 0x38a
call fcn.004578c8
mov eax, dword [ebp - 0x8218]
call fcn.00405f70
mov edx, eax
lea eax, [ebp - 0x81c8]
call fcn.0040a764
push 0x10
push 0x4cffcc
lea eax, [ebp - 0x81c8]
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 1
call fcn.00405a94
mov edx, dword [0x4d8d4c]
movzx edx, word [edx]
mov eax, dword [0x4d8afc]
call fcn.004061f8
mov edi, dword [0x4d8d4c]
movzx edi, word [edi]
test edi, edi
jle 0x4cf7fd
mov esi, 1
mov ebx, 0x4ffd50
mov eax, dword [0x4d8afc]
call fcn.00405fc8
movzx edx, byte [ebx]
xor dl, byte [0x507d4f]
mov byte [eax + esi - 1], dl
inc esi
inc ebx
dec edi
jne 0x4cf7e1
xor esi, esi
cmp byte [0x507d54], 0
jbe 0x4cf864
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
je 0x4cf83b
mov eax, dword [ebp - 0x1a8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x1a8]
push eax
mov eax, dword [0x4d8afc]
call fcn.00405fc8
push eax
mov eax, dword [0x4d8afc]
call fcn.00405fc8
mov edx, eax
mov eax, 0x507d6c
pop ecx
call fcn.004ceee8
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
je 0x4cf897
mov eax, dword [ebp - 0x1b0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0x7fff
jle 0x4cf8ea
lea edx, [ebp - 0x821c]
mov eax, 0x386
call fcn.004578c8
mov eax, dword [ebp - 0x821c]
call fcn.00405f70
mov edx, eax
lea eax, [ebp - 0x81c8]
call fcn.0040a764
push 0x10
push 0x4cffcc
lea eax, [ebp - 0x81c8]
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 1
call fcn.00405a94
mov eax, dword [0x4d8e04]
cmp byte [eax], 0
je 0x4cf908
mov edx, dword [0x4d8ac4]
mov edx, dword [edx]
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
call fcn.00456c04
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0
je 0x4cf93b
mov eax, dword [ebp - 0x1b8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0
jle 0x4cfa05
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
cmp byte [eax], 0x15
jne 0x4cf9a4
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0
je 0x4cf987
mov eax, dword [ebp - 0x1c0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1c0], eax
mov eax, dword [0x4d8afc]
push eax
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c0]
mov edx, 2
call fcn.00405fd0
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
movzx esi, byte [eax]
cmp esi, 0x50
jne 0x4cf9d8
mov eax, dword [0x4d8988]
cmp dword [eax], 0
jle 0x4cf9c9
xor edx, edx
mov eax, 0x99
call fcn.00457e90
mov eax, dword [0x4d8c24]
mov eax, dword [eax]
mov edx, dword [0x4d8988]
mov dword [edx], eax
cmp esi, 0xae
jne 0x4cfa05
mov eax, dword [0x4d902c]
cmp dword [eax], 0
jle 0x4cf9f6
xor edx, edx
mov eax, 0x98
call fcn.00457e90
mov eax, dword [0x4d8c24]
mov eax, dword [eax]
mov edx, dword [0x4d902c]
mov dword [edx], eax
mov eax, dword [0x4d8e04]
cmp byte [eax], 0
je 0x4cfa23
mov edx, dword [0x4d8ac4]
mov edx, dword [edx]
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
call fcn.00456c04
mov eax, dword [0x4d8c24]
mov eax, dword [eax]
mov edx, dword [0x4d8e80]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [0x4d8afc]
mov edx, dword [edx]
call fcn.00405b00
mov eax, dword [0x4d8afc]
mov eax, dword [eax]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0
je 0x4cfa75
mov eax, dword [ebp - 0x1c8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0
jle 0x4cfa83
cmp esi, 2
je 0x4cfa95
mov eax, dword [0x4d8e6c]
call fcn.00403a28
test al, al
je 0x4cf6ed
mov dl, 1
mov eax, dword [0x41ea30]
call fcn.0041ea98
mov edx, dword [0x4d89e8]
mov dword [edx], eax
mov dl, 1
mov eax, dword [0x41e898]
call fcn.0041e900
mov edx, dword [0x4d8bac]
mov dword [edx], eax
mov dl, 1
mov eax, dword [0x41edd8]
call fcn.0041ee44
mov edx, dword [0x4d89cc]
mov dword [edx], eax
mov eax, dword [0x4d8e6c]
call fcn.00403ab4
mov edx, dword [0x4d8a38]
mov dword [edx], eax
cmp byte [0x507d54], 0
jbe 0x4cfaf6
mov eax, 0x507d6c
call fcn.004cecd4
mov eax, dword [0x4d8e6c]
call fcn.00403884
mov eax, dword [0x4d8ed4]
mov byte [eax], 2
mov eax, dword [0x4d8c24]
mov eax, dword [eax]
mov edx, dword [0x4d8ef8]
mov dword [edx], eax
mov eax, dword [0x4d8f1c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8a94]
mov byte [eax], 1
mov eax, dword [0x4d8924]
mov dword [eax], 2
mov eax, dword [0x4d8be4]
mov byte [eax], 1
mov byte [0x507d50], 0
mov eax, dword [0x4d88c0]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d8ce8]
mov dword [eax], 1
mov eax, dword [0x4d8cac]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8e0c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8930]
mov dword [eax], 1
mov eax, dword [0x4d8bc8]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8da4]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d9000]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d9050]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8c24]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8dec]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d8da0]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d8c48]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d8a60]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d9044]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d8ffc]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d8e94]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d8d0c]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d8e50]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d8b7c]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d8b0c]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d89a0]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d90a0]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d88b8]
mov edx, dword [0x41f0a0]
call fcn.00406e94
mov eax, dword [0x4d8870]
mov edx, dword [0x41f0c4]
call fcn.00406e94
mov eax, dword [0x4d8fb8]
mov edx, dword [0x41f0e8]
call fcn.00406e94
mov eax, dword [0x4d8e2c]
mov edx, dword [0x41f10c]
call fcn.00406e94
mov eax, dword [0x4d8f54]
mov edx, dword [0x41f130]
call fcn.00406e94
mov eax, dword [0x4d8d7c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d899c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8940]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d9090]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d904c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8dfc]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8cbc]
xor edx, edx
mov dword [eax], edx
push 1
mov eax, dword [0x4d8f28]
mov ecx, 1
mov edx, dword [0x41f4d8]
call fcn.00406d74
add esp, 4
mov eax, dword [0x4d9060]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d89e4]
mov byte [eax], 0
mov eax, dword [0x4d8bc4]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8e08]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8f50]
xor edx, edx
mov dword [eax], edx
push 1
mov eax, dword [0x4d8e34]
mov ecx, 1
mov edx, dword [0x41f394]
call fcn.00406d74
add esp, 4
mov eax, dword [0x4d8fe4]
xor edx, edx
mov dword [eax], edx
push 1
mov eax, dword [0x4d89f4]
mov ecx, 1
mov edx, dword [0x41f4b4]
call fcn.00406d74
add esp, 4
push 1
mov eax, dword [0x4d8a04]
mov ecx, 1
mov edx, dword [0x41f490]
call fcn.00406d74
add esp, 4
push 1
mov eax, dword [0x4d88a8]
mov ecx, 1
mov edx, dword [0x41f578]
call fcn.00406d74
add esp, 4
mov eax, dword [0x4d909c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8878]
xor edx, edx
mov dword [eax], edx
push 1
mov eax, dword [0x4d90cc]
mov ecx, 1
mov edx, dword [0x41f3dc]
call fcn.00406d74
add esp, 4
push 1
mov eax, dword [0x4d8ab0]
mov ecx, 1
mov edx, dword [0x41f424]
call fcn.00406d74
add esp, 4
push 1
mov eax, dword [0x4d8c44]
mov ecx, 1
mov edx, dword [0x41f400]
call fcn.00406d74
add esp, 4
push 1
mov eax, dword [0x4d8e78]
mov ecx, 1
mov edx, dword [0x41f448]
call fcn.00406d74
add esp, 4
push 1
mov eax, dword [0x4d8cb8]
mov ecx, 1
mov edx, dword [0x41f46c]
call fcn.00406d74
add esp, 4
push 1
mov eax, dword [0x4d8ac0]
mov ecx, 1
mov edx, dword [0x41f548]
call fcn.00406d74
add esp, 4
mov eax, dword [0x4d89c4]
mov dword [eax], 6
mov eax, dword [0x4d886c]
mov edx, 0x4d0058
call fcn.00405b00
mov eax, dword [0x4d8fc8]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d89b4]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8e9c]
mov edx, 0x4d0068
call fcn.00405b00
mov eax, dword [0x4d8c60]
mov word [eax], 0x7c01
mov eax, dword [0x4d8dc0]
mov byte [eax], 0
mov eax, dword [0x4d8920]
mov dword [eax], 0x400
mov eax, dword [0x4d8ad8]
mov dword [eax], 0xffffffff
mov eax, dword [0x4d8f2c]
mov byte [eax], 0
mov eax, dword [0x4d895c]
mov byte [eax], 0
mov eax, dword [0x4d8f44]
mov byte [eax], 0
mov eax, dword [0x4d8ed4]
mov byte [eax], 2
mov eax, dword [0x4d9068]
mov byte [eax], 0
mov eax, dword [0x4d893c]
mov byte [eax], 0
mov eax, dword [0x4d8d38]
mov ebx, dword [eax]
lea ebx, [ebx + ebx*8]
mov eax, dword [0x4d8834]
mov byte [eax + ebx*2 + 0x11], 0
mov eax, dword [0x4d8d38]
mov eax, dword [0x4d8834]
lea eax, [eax + ebx*2 + 8]
call fcn.00405aac
mov eax, dword [0x4d8d38]
mov eax, dword [0x4d8834]
lea eax, [eax + ebx*2 + 0xc]
call fcn.00405aac
mov eax, dword [0x4d8c54]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4d8e00]
call fcn.00405aac
mov eax, dword [0x4d9048]
call fcn.00405aac
mov eax, dword [0x4d8b4c]
mov edx, 0x4d0074
call fcn.00405b00
mov eax, dword [0x4d8fc4]
mov byte [eax], 1
mov eax, dword [0x4d88e0]
mov byte [eax], 1
mov eax, dword [0x4d891c]
call fcn.00405aac
xor edx, edx
lea eax, [ebp - 0x1a0]
call fcn.004a1c98
mov eax, dword [0x4d8c78]
cmp byte [eax], 0
je 0x4cff54
call fcn.004590f4
mov eax, dword [0x4d8dd4]
mov eax, dword [eax]
push eax
mov eax, dword [0x4d88d8]
mov eax, dword [eax]
push eax
call sub.user32.dll_ReleaseDC
call fcn.00457798
call fcn.0045789c
call fcn.004224c4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cffae
lea eax, [ebp - 0x821c]
mov edx, 0x15
call fcn.00405ad0
lea eax, [ebp - 0x1a0]
mov edx, dword [0x41f228]
call fcn.00406660
ret