Function at 0x4d9a40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x1043
push 0
push 0
dec ecx
jne 0x4d9a48
push ecx
push ebx
push esi
push edi
lea eax, [ebp - 0x1a0]
mov edx, dword [0x41f26c]
call fcn.00406598
xor eax, eax
push ebp
push 0x4da9c4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4e2900]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2f28]
mov byte [eax], 0
mov eax, dword [0x4e2b30]
mov byte [eax], 0
call fcn.0040319c
dec eax
jl 0x4d9ab2
lea edx, [ebp - 0x81cc]
mov eax, 1
call fcn.004031fc
mov eax, dword [ebp - 0x81cc]
call fcn.004d9950
test eax, eax
jne 0x4d9b2d
lea edx, [ebp - 0x81d0]
xor eax, eax
call fcn.004031fc
mov edx, dword [ebp - 0x81d0]
mov eax, dword [0x4e2eb8]
call fcn.004036dc
mov eax, dword [0x4e2eb8]
mov edx, 1
call fcn.00403f30
mov eax, dword [0x4e2eb8]
mov edx, 0x80
call fcn.00403f58
push 0
mov edx, dword [0x4e2ac0]
mov eax, dword [0x4e2eb8]
mov ecx, 4
call fcn.00403844
mov eax, dword [0x4e2eb8]
call fcn.00403884
mov eax, dword [0x4e2ac0]
cmp dword [eax], 0
je 0x4d9b20
mov eax, dword [0x4e2b30]
mov byte [eax], 1
mov edx, dword [0x4e2c6c]
xor eax, eax
call fcn.004031fc
mov eax, dword [0x4e2b30]
cmp byte [eax], 0
jne 0x4d9c13
call fcn.0040319c
dec eax
jge 0x4d9c13
lea edx, [ebp - 0x81d8]
mov eax, 0x320
call fcn.00457fc0
mov ecx, dword [ebp - 0x81d8]
lea eax, [ebp - 0x81d4]
mov edx, 0x4da9dc
call fcn.00405dc4
mov eax, dword [ebp - 0x81d4]
call fcn.00405f78
mov ecx, eax
mov edx, 0x4e2754
xor eax, eax
call fcn.00420434
test al, al
je 0x4d9bdf
lea edx, [ebp - 0x81dc]
mov eax, 0x4e2754
call fcn.0040a9ec
mov edx, dword [ebp - 0x81dc]
mov eax, dword [0x4e2c6c]
call fcn.00405b08
lea edx, [ebp - 0x81e0]
mov eax, dword [0x4e2c6c]
mov eax, dword [eax]
call fcn.00409b68
mov edx, dword [ebp - 0x81e0]
mov eax, dword [0x4e2c6c]
call fcn.00405b08
mov eax, dword [0x4e2ac0]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2b30]
mov byte [eax], 1
jmp 0x4d9c13
push 0x10
push 0x4da9e8
lea edx, [ebp - 0x81e4]
mov eax, 0x323
call fcn.00457fc0
mov eax, dword [ebp - 0x81e4]
call fcn.00405f78
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 2
call fcn.00405a9c
mov eax, dword [0x4e2b30]
cmp byte [eax], 0
jne 0x4d9c60
mov edx, dword [0x4e2c6c]
mov eax, 1
call fcn.004031fc
mov edx, dword [0x4e2c6c]
mov edx, dword [edx]
mov eax, 0x4daa00
call fcn.004276ac
test eax, eax
jne 0x4d9c57
mov eax, dword [0x4e2c6c]
mov edx, 0x4daa0c
call fcn.00405d80
mov eax, dword [0x4e2c6c]
mov eax, dword [0x4e2ac0]
xor edx, edx
mov dword [eax], edx
call fcn.00402f54
mov edx, dword [0x4e2c6c]
mov edx, dword [edx]
mov eax, dword [0x4e2eb8]
call fcn.004036dc
mov eax, dword [0x4e2eb8]
mov edx, 1
call fcn.00403f30
call fcn.00402f54
test eax, eax
jle 0x4d9ce9
lea edx, [ebp - 0x81e8]
mov eax, 0xd1
call fcn.00457fc0
lea eax, [ebp - 0x81e8]
mov edx, dword [0x4e2c6c]
mov edx, dword [edx]
call fcn.00405d80
mov eax, dword [ebp - 0x81e8]
call fcn.00405f78
mov edx, eax
lea eax, [ebp - 0x81c8]
call fcn.0040a7b4
push 0x10
push 0x4daa14
lea eax, [ebp - 0x81c8]
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 2
call fcn.00405a9c
mov esi, 0x10
lea ebx, [ebp - 0x1a0]
lea edi, [ebp - 0x120]
mov eax, ebx
call fcn.00405ab4
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 0x4d9cfa
mov esi, 0x64
mov ebx, dword [0x4e2d7c]
mov edx, dword [0x41f05c]
mov eax, 0x31d
call fcn.00406adc
mov edi, eax
mov dword [ebx], edi
mov eax, edi
call fcn.00405ab4
mov eax, dword [ebx]
mov byte [eax + 0x31c], 0x20
add ebx, 4
dec esi
jne 0x4d9d21
mov edx, dword [0x4e2ac0]
mov edx, dword [edx]
mov eax, dword [0x4e2eb8]
call fcn.00403f58
push 0
mov edx, 0x509d64
mov eax, dword [0x4e2eb8]
mov ecx, 0x20
call fcn.00403844
mov eax, dword [0x4e2b3c]
mov edx, 0x1e
call fcn.00406200
mov esi, 1
mov ebx, 0x509d65
mov eax, dword [0x4e2b3c]
call fcn.00405fd0
movzx edx, byte [ebx]
mov byte [eax + esi - 1], dl
inc esi
inc ebx
cmp esi, 0x1f
jne 0x4d9d8c
call fcn.00402f54
test eax, eax
jg 0x4d9ddc
lea eax, [ebp - 0x81ec]
push eax
mov eax, dword [0x4e2b3c]
mov eax, dword [eax]
mov ecx, 0xa
mov edx, 1
call fcn.00405fd8
mov eax, dword [ebp - 0x81ec]
mov edx, 0x4daa2c
call fcn.00405ec4
je 0x4d9e47
lea edx, [ebp - 0x81f0]
mov eax, 0x389
call fcn.00457fc0
mov eax, dword [ebp - 0x81f0]
call fcn.00405f78
mov edx, eax
lea eax, [ebp - 0x81c8]
call fcn.0040a7b4
push 0x10
lea eax, [ebp - 0x81f4]
push eax
mov eax, dword [0x4e2b3c]
mov eax, dword [eax]
mov ecx, 0xa
mov edx, 1
call fcn.00405fd8
mov eax, dword [ebp - 0x81f4]
call fcn.00405f78
push eax
lea eax, [ebp - 0x81c8]
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 1
call fcn.00405a9c
mov byte [0x511d68], 0
mov eax, dword [0x4e2e50]
mov byte [eax], 0
lea eax, [ebp - 0x81f8]
push eax
mov eax, dword [0x4e2b3c]
mov eax, dword [eax]
mov ecx, 2
mov edx, 0x14
call fcn.00405fd8
mov eax, dword [ebp - 0x81f8]
mov edx, 0x4daa40
call fcn.00405ec4
je 0x4da02b
lea eax, [ebp - 0x81fc]
push eax
mov eax, dword [0x4e2b3c]
mov eax, dword [eax]
mov ecx, 0xb
mov edx, 1
call fcn.00405fd8
mov eax, dword [ebp - 0x81fc]
mov edx, 0x4daa4c
call fcn.00405ec4
jne 0x4d9f01
mov eax, dword [0x4e2b3c]
call fcn.00405fd0
add eax, 8
mov edx, 0x511d68
mov ecx, 0x15
call fcn.00402fa0
mov byte [0x511d63], 0
mov eax, dword [0x4e2e50]
mov byte [eax], 1
push 0x511d68
mov edx, 0x511d68
mov eax, 0x511d80
mov ecx, 0x15
call fcn.004d94dc
jmp 0x4da0ce
lea eax, [ebp - 0x8200]
push eax
mov eax, dword [0x4e2b3c]
mov eax, dword [eax]
mov ecx, 0xb
mov edx, 1
call fcn.00405fd8
mov eax, dword [ebp - 0x8200]
mov edx, 0x4daa60
call fcn.00405ec4
jne 0x4d9fbb
mov eax, dword [0x4e2e50]
mov byte [eax], 1
mov eax, dword [0x4e2b3c]
mov eax, dword [eax]
movzx eax, byte [eax + 0x1a]
add eax, 0x13
mov edx, dword [0x4e2b3c]
mov edx, dword [edx]
movzx eax, byte [edx + eax - 1]
mov edx, dword [0x4e2b3c]
mov edx, dword [edx]
movzx edx, byte [edx + 0x1c]
add edx, 0x13
mov ecx, dword [0x4e2b3c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx - 1]
or al, dl
mov edx, dword [0x4e2b3c]
mov edx, dword [edx]
movzx edx, byte [edx + 0x19]
add edx, 0x13
mov ecx, dword [0x4e2b3c]
mov ecx, dword [ecx]
movzx edx, byte [ecx + edx - 1]
mov ecx, dword [0x4e2b3c]
mov ecx, dword [ecx]
movzx ecx, byte [ecx + 0x1b]
add ecx, 0x13
mov ebx, dword [0x4e2b3c]
mov ebx, dword [ebx]
movzx ecx, byte [ebx + ecx - 1]
or dl, cl
and al, dl
mov byte [0x511d63], al
jmp 0x4da0ce
lea edx, [ebp - 0x8204]
mov eax, 0x394
call fcn.00457fc0
mov eax, dword [ebp - 0x8204]
call fcn.00405f78
mov edx, eax
lea eax, [ebp - 0x81c8]
call fcn.0040a7b4
push 0x10
lea eax, [ebp - 0x8208]
push eax
mov eax, dword [0x4e2b3c]
mov eax, dword [eax]
mov ecx, 0xa
mov edx, 1
call fcn.00405fd8
mov eax, dword [ebp - 0x8208]
call fcn.00405f78
push eax
lea eax, [ebp - 0x81c8]
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 1
call fcn.00405a9c
jmp 0x4da0ce
lea eax, [ebp - 0x820c]
push eax
mov eax, dword [0x4e2b3c]
mov eax, dword [eax]
mov ecx, 0xb
mov edx, 1
call fcn.00405fd8
mov eax, dword [ebp - 0x820c]
mov edx, 0x4daa60
call fcn.00405ec4
jne 0x4da063
mov byte [0x511d63], 0
jmp 0x4da0ce
lea edx, [ebp - 0x8210]
mov eax, 0x394
call fcn.00457fc0
mov eax, dword [ebp - 0x8210]
call fcn.00405f78
mov edx, eax
lea eax, [ebp - 0x81c8]
call fcn.0040a7b4
push 0x10
lea eax, [ebp - 0x8214]
push eax
mov eax, dword [0x4e2b3c]
mov eax, dword [eax]
mov ecx, 0xa
mov edx, 1
call fcn.00405fd8
mov eax, dword [ebp - 0x8214]
call fcn.00405f78
push eax
lea eax, [ebp - 0x81c8]
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 1
call fcn.00405a9c
mov eax, dword [0x4e3080]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e29b0]
xor edx, edx
mov dword [eax], edx
jmp 0x4da47b
mov eax, dword [0x4e2c68]
inc dword [eax]
mov eax, dword [0x4e2c68]
mov eax, dword [eax]
inc eax
push eax
mov eax, dword [0x4e2ecc]
mov ecx, 1
mov edx, dword [0x41f2b4]
call fcn.00406d7c
add esp, 4
mov eax, dword [0x4e2c68]
mov eax, dword [eax]
inc eax
push eax
mov eax, dword [0x4e2cc8]
mov ecx, 1
mov edx, dword [0x41f540]
call fcn.00406d7c
add esp, 4
push 0
mov edx, dword [0x4e2d98]
mov eax, dword [0x4e2eb8]
mov ecx, 2
call fcn.00403844
push 0
mov ecx, dword [0x4e2d98]
movzx ecx, word [ecx]
mov edx, 0x509d64
mov eax, dword [0x4e2eb8]
call fcn.00403844
call fcn.00402f54
test eax, eax
jle 0x4da1af
lea edx, [ebp - 0x8218]
mov eax, 0x38a
call fcn.00457fc0
mov eax, dword [ebp - 0x8218]
call fcn.00405f78
mov edx, eax
lea eax, [ebp - 0x81c8]
call fcn.0040a7b4
push 0x10
push 0x4da9e8
lea eax, [ebp - 0x81c8]
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 1
call fcn.00405a9c
mov edx, dword [0x4e2d98]
movzx edx, word [edx]
mov eax, dword [0x4e2b3c]
call fcn.00406200
mov edi, dword [0x4e2d98]
movzx edi, word [edi]
test edi, edi
jle 0x4da1f5
mov esi, 1
mov ebx, 0x509d64
mov eax, dword [0x4e2b3c]
call fcn.00405fd0
movzx edx, byte [ebx]
xor dl, byte [0x511d63]
mov byte [eax + esi - 1], dl
inc esi
inc ebx
dec edi
jne 0x4da1d9
xor esi, esi
cmp byte [0x511d68], 0
jbe 0x4da25c
mov eax, dword [0x4e2b3c]
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 0x4da233
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 [0x4e2b3c]
call fcn.00405fd0
push eax
mov eax, dword [0x4e2b3c]
call fcn.00405fd0
mov edx, eax
mov eax, 0x511d80
pop ecx
call fcn.004d98e8
mov eax, dword [0x4e2b3c]
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 0x4da28f
mov eax, dword [ebp - 0x1b0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0x7fff
jle 0x4da2e2
lea edx, [ebp - 0x821c]
mov eax, 0x386
call fcn.00457fc0
mov eax, dword [ebp - 0x821c]
call fcn.00405f78
mov edx, eax
lea eax, [ebp - 0x81c8]
call fcn.0040a7b4
push 0x10
push 0x4da9e8
lea eax, [ebp - 0x81c8]
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, 1
call fcn.00405a9c
mov eax, dword [0x4e2e50]
cmp byte [eax], 0
je 0x4da300
mov edx, dword [0x4e2b00]
mov edx, dword [edx]
mov eax, dword [0x4e2b3c]
mov eax, dword [eax]
call fcn.00456ee8
mov eax, dword [0x4e2b3c]
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 0x4da333
mov eax, dword [ebp - 0x1b8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0
jle 0x4da3fd
mov eax, dword [0x4e2b3c]
mov eax, dword [eax]
cmp byte [eax], 0x15
jne 0x4da39c
mov eax, dword [0x4e2b3c]
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 0x4da37f
mov eax, dword [ebp - 0x1c0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1c0], eax
mov eax, dword [0x4e2b3c]
push eax
mov eax, dword [0x4e2b3c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c0]
mov edx, 2
call fcn.00405fd8
mov eax, dword [0x4e2b3c]
mov eax, dword [eax]
movzx esi, byte [eax]
cmp esi, 0x50
jne 0x4da3d0
mov eax, dword [0x4e29b0]
cmp dword [eax], 0
jle 0x4da3c1
xor edx, edx
mov eax, 0x99
call fcn.00458594
mov eax, dword [0x4e2c68]
mov eax, dword [eax]
mov edx, dword [0x4e29b0]
mov dword [edx], eax
cmp esi, 0xae
jne 0x4da3fd
mov eax, dword [0x4e3080]
cmp dword [eax], 0
jle 0x4da3ee
xor edx, edx
mov eax, 0x98
call fcn.00458594
mov eax, dword [0x4e2c68]
mov eax, dword [eax]
mov edx, dword [0x4e3080]
mov dword [edx], eax
mov eax, dword [0x4e2e50]
cmp byte [eax], 0
je 0x4da41b
mov edx, dword [0x4e2b00]
mov edx, dword [edx]
mov eax, dword [0x4e2b3c]
mov eax, dword [eax]
call fcn.00456ee8
mov eax, dword [0x4e2c68]
mov eax, dword [eax]
mov edx, dword [0x4e2ecc]
mov edx, dword [edx]
lea eax, [edx + eax*4]
mov edx, dword [0x4e2b3c]
mov edx, dword [edx]
call fcn.00405b08
mov eax, dword [0x4e2b3c]
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 0x4da46d
mov eax, dword [ebp - 0x1c8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0
jle 0x4da47b
cmp esi, 2
je 0x4da48d
mov eax, dword [0x4e2eb8]
call fcn.00403a28
test al, al
je 0x4da0e5
mov dl, 1
mov eax, dword [0x41ea74]
call fcn.0041eadc
mov edx, dword [0x4e2a14]
mov dword [edx], eax
mov dl, 1
mov eax, dword [0x41e8dc]
call fcn.0041e944
mov edx, dword [0x4e2bec]
mov dword [edx], eax
mov dl, 1
mov eax, dword [0x41ee1c]
call fcn.0041ee88
mov edx, dword [0x4e29f4]
mov dword [edx], eax
mov eax, dword [0x4e2eb8]
call fcn.00403ab4
mov edx, dword [0x4e2a64]
mov dword [edx], eax
cmp byte [0x511d68], 0
jbe 0x4da4ee
mov eax, 0x511d80
call fcn.004d96d4
mov eax, dword [0x4e2eb8]
call fcn.00403884
mov eax, dword [0x4e2f28]
mov byte [eax], 2
mov eax, dword [0x4e2c68]
mov eax, dword [eax]
mov edx, dword [0x4e2f4c]
mov dword [edx], eax
mov eax, dword [0x4e2f70]
xor edx, edx
mov dword [eax], edx
push 0
push 0
push 0
push 0x4daa6c
call sub.gdi32.dll_CreateDCA
mov edx, dword [0x4e2bf8]
mov dword [edx], eax
mov eax, dword [0x4e2acc]
mov byte [eax], 1
mov eax, dword [0x4e294c]
mov dword [eax], 2
mov eax, dword [0x4e2c28]
mov byte [eax], 1
mov byte [0x511d64], 0
mov eax, dword [0x4e28e8]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e2d2c]
mov dword [eax], 1
mov eax, dword [0x4e2cf0]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2e58]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2958]
mov dword [eax], 1
mov eax, dword [0x4e2c0c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2df4]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e3054]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e30ac]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2c68]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2e38]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e2df0]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e2c8c]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e2a94]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e30a0]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e3050]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e2ee0]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e2d54]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e2e9c]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e2bbc]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e2b4c]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e29c8]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e30fc]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e28e0]
mov edx, dword [0x41f0e4]
call fcn.00406e9c
mov eax, dword [0x4e2894]
mov edx, dword [0x41f108]
call fcn.00406e9c
mov eax, dword [0x4e300c]
mov edx, dword [0x41f12c]
call fcn.00406e9c
mov eax, dword [0x4e2e78]
mov edx, dword [0x41f150]
call fcn.00406e9c
mov eax, dword [0x4e2fa8]
mov edx, dword [0x41f174]
call fcn.00406e9c
mov eax, dword [0x4e2dc8]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e29c4]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2968]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e30ec]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e30a8]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2e48]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2d00]
xor edx, edx
mov dword [eax], edx
push 1
mov eax, dword [0x4e2f7c]
mov ecx, 1
mov edx, dword [0x41f51c]
call fcn.00406d7c
add esp, 4
mov eax, dword [0x4e30bc]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2a10]
mov byte [eax], 0
mov eax, dword [0x4e2c08]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2e54]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2fa4]
xor edx, edx
mov dword [eax], edx
push 1
mov eax, dword [0x4e2e80]
mov ecx, 1
mov edx, dword [0x41f3d8]
call fcn.00406d7c
add esp, 4
mov eax, dword [0x4e3038]
xor edx, edx
mov dword [eax], edx
push 1
mov eax, dword [0x4e2a20]
mov ecx, 1
mov edx, dword [0x41f4f8]
call fcn.00406d7c
add esp, 4
push 1
mov eax, dword [0x4e2a30]
mov ecx, 1
mov edx, dword [0x41f4d4]
call fcn.00406d7c
add esp, 4
push 1
mov eax, dword [0x4e28d0]
mov ecx, 1
mov edx, dword [0x41f5bc]
call fcn.00406d7c
add esp, 4
mov eax, dword [0x4e30f8]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e289c]
xor edx, edx
mov dword [eax], edx
push 1
mov eax, dword [0x4e3128]
mov ecx, 1
mov edx, dword [0x41f420]
call fcn.00406d7c
add esp, 4
push 1
mov eax, dword [0x4e2ae8]
mov ecx, 1
mov edx, dword [0x41f468]
call fcn.00406d7c
add esp, 4
push 1
mov eax, dword [0x4e2c88]
mov ecx, 1
mov edx, dword [0x41f444]
call fcn.00406d7c
add esp, 4
push 1
mov eax, dword [0x4e2ec4]
mov ecx, 1
mov edx, dword [0x41f48c]
call fcn.00406d7c
add esp, 4
push 1
mov eax, dword [0x4e2cfc]
mov ecx, 1
mov edx, dword [0x41f4b0]
call fcn.00406d7c
add esp, 4
push 1
mov eax, dword [0x4e2afc]
mov ecx, 1
mov edx, dword [0x41f58c]
call fcn.00406d7c
add esp, 4
mov eax, dword [0x4e29ec]
mov dword [eax], 6
mov eax, dword [0x4e2890]
mov edx, 0x4daa7c
call fcn.00405b08
mov eax, dword [0x4e301c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e29dc]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2ee8]
mov edx, 0x4daa8c
call fcn.00405b08
mov eax, dword [0x4e2ca4]
mov word [eax], 0x7c01
mov eax, dword [0x4e2e0c]
mov byte [eax], 0
mov eax, dword [0x4e2948]
mov dword [eax], 0x400
mov eax, dword [0x4e2b18]
mov dword [eax], 0xffffffff
mov eax, dword [0x4e2f80]
mov byte [eax], 0
mov eax, dword [0x4e2984]
mov byte [eax], 0
mov eax, dword [0x4e2f98]
mov byte [eax], 0
mov eax, dword [0x4e2f28]
mov byte [eax], 2
mov eax, dword [0x4e30c4]
mov byte [eax], 0
mov eax, dword [0x4e2964]
mov byte [eax], 0
mov eax, dword [0x4e2d84]
mov ebx, dword [eax]
lea ebx, [ebx + ebx*8]
mov eax, dword [0x4e2858]
mov byte [eax + ebx*2 + 0x11], 0
mov eax, dword [0x4e2d84]
mov eax, dword [0x4e2858]
lea eax, [eax + ebx*2 + 8]
call fcn.00405ab4
mov eax, dword [0x4e2d84]
mov eax, dword [0x4e2858]
lea eax, [eax + ebx*2 + 0xc]
call fcn.00405ab4
mov eax, dword [0x4e2c98]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4e2e4c]
call fcn.00405ab4
mov eax, dword [0x4e30a4]
call fcn.00405ab4
mov eax, dword [0x4e2b8c]
mov edx, 0x4daa98
call fcn.00405b08
mov eax, dword [0x4e3018]
mov byte [eax], 1
mov eax, dword [0x4e2908]
mov byte [eax], 1
mov eax, dword [0x4e2944]
call fcn.00405ab4
xor edx, edx
lea eax, [ebp - 0x1a0]
call fcn.004a30f4
mov eax, dword [0x4e2cbc]
cmp byte [eax], 0
je 0x4da964
call fcn.004597ec
mov eax, dword [0x4e2e20]
mov eax, dword [eax]
push eax
mov eax, dword [0x4e2900]
mov eax, dword [eax]
push eax
call sub.user32.dll_ReleaseDC
mov eax, dword [0x4e2bf8]
mov eax, dword [eax]
push eax
call sub.gdi32.dll_DeleteDC
call fcn.00457e90
call fcn.00457f94
call fcn.00422540
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4da9cb
lea eax, [ebp - 0x821c]
mov edx, 0x15
call fcn.00405ad8
lea eax, [ebp - 0x1a0]
mov edx, dword [0x41f26c]
call fcn.00406668
ret