Function at 0x40202d
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push ebx
mov dword [0x43b598], 0
mov ebx, dword [0x43b598]
add ebx, 0x30df
mov dword [ebp - 0x358], ebx
mov dword [0x43b72c], 0x76f2
mov ebx, dword [0x43b72c]
xor dword [ebp - 0x358], ebx
add dword [ebp - 0x358], 0x3100
mov dword [ebp - 0x2e4], 0x8e6d
mov ebx, dword [ebp - 0x358]
xor ebx, dword [ebp - 0x2e4]
mov dword [ebp - 0x358], ebx
and dword [ebp - 0x358], 0x7de0
sub dword [ebp - 0x358], 0x80007a04
mov dword [ebp - 0x2dc], 0x8603
mov ebx, dword [ebp - 0x358]
or ebx, dword [ebp - 0x2dc]
mov dword [ebp - 0x358], ebx
and dword [ebp - 0x358], 0x2a6e
cmp dword [ebp - 0x358], 0x1a2e
ja 0x402128
mov ebx, dword [0x43bbdc]
mov ecx, dword [0x43b61c]
and ecx, dword [ebx]
mov dword [0x43b61c], ecx
mov ecx, dword [sym.imp.comdlg32.dll_GetOpenFileNameA]
push dword [ebp - 0x20]
mov dword [ebp - 0x1a0], ecx
call dword [ebp - 0x1a0]
mov ecx, dword [0x43b808]
mov ebx, dword [0x43b7c8]
adc ebx, dword [ecx]
mov dword [0x43b7c8], ebx
jmp 0x40213d
mov ebx, dword [ebp - 0x268]
mov ecx, 0x7c56
sbb ebx, ecx
mov dword [ebp - 0x268], ebx
mov ebx, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x324]
sbb ecx, ebx
mov dword [ebp - 0x324], ecx
push esi
mov dword [esp + 0x10], 0xffffeffd
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xec]
adc dword [eax], esi
mov eax, dword [0x4054a8]
mov byte [esp + 0x76], 0
and dword [eax], 0x20a230
push edi
mov dword [esp + 0x10], 0xffffeffc
lea esi, [ebp - 0x158]
mov dword [ebp - 0x15c], esi
mov esi, dword [ebp - 0x15c]
mov ecx, 0x7394
sbb dword [esi], ecx
mov esi, 0x701a
mov ecx, dword [esp + 0x10]
mov eax, dword [0x4054ac]
mov ebx, dword [ebp - 0x1d0]
mov edi, 0x5dad
sub ebx, edi
mov dword [ebp - 0x1d0], ebx
xor dword [eax], 0x876657
mov ebx, ecx
xor ebx, esi
mov edi, dword [ebp - 0x270]
sbb dword [0x43b440], edi
push 6
xor edx, edx
lea eax, [ebx + 0x601a]
mov dword [0x43b60c], 0x990e
mov edi, dword [0x43b60c]
mov dword [0x43b7d8], 0x7541
add edi, dword [0x43b7d8]
mov dword [0x43b588], 0x11e8
and edi, dword [0x43b588]
imul edi, edi, 0x54be
mov dword [0x43b768], 0x17f3
add edi, dword [0x43b768]
mov dword [0x43b6f4], edi
xor dword [0x43b6f4], 0x516a
mov edi, dword [0x43b6f4]
add edi, 0x3110
mov dword [ebp - 0x1c8], 0x3fea
or edi, dword [ebp - 0x1c8]
mov dword [ebp - 0x204], edi
add dword [ebp - 0x204], 0x8b92
mov edi, dword [ebp - 0x204]
cmp edi, 0x187b8d
jae 0x4022d0
mov edi, dword [ebp - 0x3d4]
xor edi, dword [0x43b6b0]
mov dword [ebp - 0x3d4], edi
mov edi, dword [sym.imp.comdlg32.dll_GetSaveFileNameA]
push 0x8c4f
mov dword [ebp - 0x2bc], edi
call dword [ebp - 0x2bc]
mov edi, dword [ebp - 0x34c]
or edi, dword [ebp - 0x354]
mov dword [ebp - 0x34c], edi
jmp 0x4022d8
mov edi, dword [0x43bb10]
shl byte [edi], 1
mov edi, dword [0x43b4f4]
sub dword [ebp - 0x354], edi
pop edi
div edi
sub dword [0x43b400], 0x1990
or dword [0x43b400], 0x5138
xor eax, eax
sub edx, eax
je 0x402535
dec edx
je 0x4024df
sbb dword [ebp - 0x144], 0x45cc
dec edx
je 0x4023d4
sub edx, 3
jne 0x402728
mov eax, dword [0x4054b0]
cmp ebx, 0x9ba9
jl 0x402348
mov ecx, dword [0x43b6dc]
sbb dword [ebp - 0x104], ecx
jmp 0x40235c
mov ecx, dword [ebp - 0x308]
add ecx, dword [0x43b4c4]
mov dword [ebp - 0x308], ecx
mov ecx, dword [0x43b6e4]
and dword [ebp - 0x108], ecx
add dword [eax], 0x895767
mov eax, dword [0x4054b0]
xor dword [eax], 0xffff8451
mov eax, dword [ebp - 0x29c]
mov ecx, dword [0x43b7d4]
and eax, ecx
mov dword [ebp - 0x29c], eax
mov eax, dword [0x4054b0]
or dword [eax], 0x5947
mov eax, dword [0x4054b0]
mov ecx, dword [esp + 0x14]
sub dword [ebp - 0x31c], 0x2e2b
mov dword [ebp - 0x31c], 0x38eb
add dword [ebp - 0x31c], 0x7d7e
xor ecx, esi
add ecx, 0x601a
shl dword [eax], cl
jmp 0x402728
push eax
call dword [sym.imp.USER32.dll_WindowFromDC]
jmp 0x402728
push 5
mov edi, dword [0x43b890]
rol byte [edi], 1
pop edi
xor edx, edx
lea eax, [ecx + ecx]
div edi
mov eax, dword [0x43bb5c]
mov eax, dword [eax]
sub dword [ebp - 0x3c4], eax
mov eax, ecx
push dword [edx*4 + 0x4056b4]
xor edx, edx
mov ecx, dword [ebp - 0x1a4]
sub ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0x1a4], ecx
push edi
pop ecx
div ecx
push dword [edx*4 + 0x4056b4]
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
jmp 0x402728
mov edi, dword [ebp + 8]
add edi, 0xffff9fe6
xor edi, esi
mov dword [ebp - 0x134], 0x55ea
add dword [ebp - 0x134], 0xc9c
mov dword [esp + 0xc], eax
imul edi, edi, 0x765677
mov dword [esp + 0x1c], eax
rdtsc
adc dword [ebp - 0x3c0], 0x77f7
and dword [ebp - 0x3c0], 0x2990
xor ecx, ecx
add eax, dword [esp + 0xc]
push ecx
adc edx, ecx
mov dword [ebp - 0x174], 0x300
add eax, edi
adc edx, dword [esp + 0x20]
push 0x19
xor edx, ecx
xor eax, 0x649626
mov dword [ebp - 0xe8], 0x1329
mov dword [ebp - 0xe8], 0x2946
adc dword [ebp - 0xe8], 0xebe
push edx
push eax
call sub.ntdll.dll__aullrem
mov dword [0x43b4c8], 0
add dword [0x43b4c8], 0x3c11
mov ecx, dword [0x43b4c8]
xor ecx, 0x6c88
mov dword [0x43b508], 0x33f6
sub ecx, dword [0x43b508]
imul ecx, ecx, 0x47e3
and ecx, 0x2444
mov dword [ebp - 0x3e8], ecx
sub dword [ebp - 0x3e8], 0x80000099
mov ecx, dword [ebp - 0x3e8]
and ecx, 0x13e4
mov dword [0x43b74c], ecx
add dword [0x43b74c], 0x4d09
mov ecx, dword [0x43b74c]
mov dword [0x43b780], ecx
xor dword [0x43b780], 0x271f
mov ecx, dword [0x43b780]
cmp ecx, 0x3a0a
ja 0x402697
mov ecx, dword [ebp - 0x248]
and ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x248], ecx
mov ecx, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push 0x43bc52
mov dword [ebp - 0x3c8], ecx
call dword [ebp - 0x3c8]
mov ecx, dword [0x43bb64]
mov ecx, dword [ecx]
and dword [0x43b568], ecx
jmp 0x4026a9
mov ecx, dword [0x43b43c]
sbb ecx, dword [0x43b7a4]
mov dword [0x43b43c], ecx
mov ecx, dword [ebp - 0x340]
sub ecx, dword [ebp - 0x34c]
mov dword [ebp - 0x340], ecx
mov ecx, dword [esp + 0xc]
sub dword [ebp - 0x3e0], 0x1c99
mov dword [ebp - 0x3e0], 0x4d7a
xor dword [ebp - 0x3e0], 0x7a0f
add al, 0x61
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x41
mov byte [esp + ecx + 0x38], al
jb 0x402564
lea eax, [esp + 0x38]
push eax
mov eax, dword [0x405434]
push dword [eax]
or dword [0x43b45c], 0x43b7ac
sub dword [0x43b45c], 0x43b4d0
and dword [0x43b45c], 0x43b494
call dword [sym.imp.USER32.dll_LoadIconA]
mov eax, dword [0x4054a4]
mov ecx, dword [eax]
sub dword [0x43b400], 0x27dc
imul ecx, ecx, 0x538421
mov dword [eax], ecx
mov eax, dword [esp + 0x10]
push 5
pop ecx
sub dword [ebp - 0x30c], 0x304
xor edx, edx
div ecx
push dword [edx*4 + 0x4056b4]
cmp dword [ebp - 0x320], 0x9f02
jg 0x402792
mov dword [ebp - 0x394], 0x55ea
mov dword [ebp - 0x394], 0x2f5d
sbb dword [ebp - 0x394], 0x5325
jmp 0x40279d
mov dword [ebp - 0x3a0], 0x2c4d
xor dword [ebp - 0x118], 0x2602
adc dword [ebp - 0x118], 0x785b
push esi
mov dword [0x43b444], 0x94c4
mov esi, dword [0x43b444]
imul esi, esi, 0x4b5a
mov dword [0x43b5b0], esi
xor dword [0x43b5b0], 0x8ce8
mov esi, dword [0x43b5b0]
imul esi, esi, 0xffff9d4d
xor esi, 0x237d
mov dword [ebp - 0x124], 0x8031
and esi, dword [ebp - 0x124]
add esi, 0x5dd5
mov dword [0x43b674], 0x6f7a
or esi, dword [0x43b674]
cmp esi, 0x10f7e
jbe 0x40288e
mov esi, dword [ebp - 0x28c]
adc esi, dword [ebp - 0x290]
mov dword [ebp - 0x28c], esi
mov esi, dword [sym.imp.USER32.dll_ModifyMenuW]
push 0x43bc00
push 0x6c6f
push 0x7039
push dword [ebp - 0x24]
push dword [ebp - 0xc]
mov dword [ebp - 0x298], esi
call dword [ebp - 0x298]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalGetAtomNameW]
push 0x1e1d
push 0x43b460
push dword [ebp - 0x14]
mov dword [ebp - 0x300], esi
call dword [ebp - 0x300]
mov esi, dword [0x43b778]
sal esi, 6
mov dword [0x43b778], esi
jmp 0x4028a2
sub dword [0x43b400], 0x37fd
xor dword [0x43b400], 0x3291
sub dword [ebp - 0x218], 0x2743
xor dword [ebp - 0x218], 0x24a9
pop esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov eax, dword [esp + 0x14]
xor eax, esi
lea eax, [eax + ebx + 0x601a]
xor eax, esi
xor dword [ebp - 0x374], 0x4956
adc dword [ebp - 0x374], 0x25d0
or dword [ebp - 0x374], 0x680f
mov dword [esp + 0x10], eax
mov eax, dword [0x4054ac]
xor dword [eax], 0x986627
cmp dword [esp + 0x10], 0xffffdff2
jne 0x4021b5
cmp edi, 0x5a0d
jl 0x402927
mov ebx, dword [0x43b658]
xor dword [ebp - 0x310], ebx
jmp 0x402933
mov ebx, 0x52a7
sub dword [ebp - 0x158], ebx
mov ebx, dword [0x43b940]
mov ebx, dword [ebx]
and dword [ebp - 0x22c], ebx
mov ebx, dword [ebp + 8]
xor ecx, ecx
xor eax, eax
mov dword [ebx], ecx
sub dword [ebp - 0x2d0], 0x1c02
or dword [ebp - 0x2d0], 0x7b5b
mov dword [esp + 0x20], ecx
lea edi, [esp + 0x24]
stosd dword es:[edi], eax
mov eax, dword [0x4054a4]
mov eax, dword [eax]
sub dword [0x43b400], 0x3da0
mov dword [esp + 0x10], ecx
mov ecx, dword [0x4054b0]
add eax, dword [ecx]
mov ecx, 0xba5
or dword [ebp - 0x25c], ecx
mov dword [ebp - 0x210], 0
add dword [ebp - 0x210], 0x6873
mov ecx, dword [ebp - 0x210]
imul ecx, ecx, 0x521b
or ecx, 0x8ace
sub ecx, 0x4f53
mov dword [ebp - 0x2e0], 0x6cfb
xor ecx, dword [ebp - 0x2e0]
imul ecx, ecx, 0xffffeea1
mov dword [0x43b7bc], ecx
add dword [0x43b7bc], 0x300c
mov ecx, dword [0x43b7bc]
or ecx, 0x36cb
cmp ecx, 0x132b7fdb
je 0x402a43
mov ecx, dword [0x43b5e4]
adc ecx, dword [0x43b544]
mov dword [0x43b5e4], ecx
mov ecx, dword [sym.imp.KERNEL32.dll_GetComputerNameW]
push dword [ebp - 0xc]
push 0x43b4a0
mov dword [ebp - 0x3fc], ecx
call dword [ebp - 0x3fc]
mov ecx, dword [0x43b6e0]
add ecx, 0x6e25
mov dword [0x43b6e0], ecx
jmp 0x402a55
mov ecx, dword [0x43b714]
adc ecx, dword [0x43b6cc]
mov dword [0x43b714], ecx
mov ecx, dword [0x43bb44]
mov ecx, dword [ecx]
xor dword [0x43b53c], ecx
mov ecx, dword [0x4054ac]
mov ecx, dword [ecx]
add ecx, eax
cmp dword [ebp - 0xf0], 0x98ff
jge 0x402a8e
mov eax, dword [ebp - 0x2d0]
xor dword [ebp - 0x2c4], eax
jmp 0x402a9c
mov eax, dword [ebp - 0xe8]
adc dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x394]
sub eax, 0x6cf6
mov dword [ebp - 0x394], eax
mov eax, dword [0x4054a8]
mov eax, dword [eax]
add eax, ecx
mov ecx, 0x2905
sub dword [ebp - 0x14c], ecx
xor edx, edx
mov ecx, 0x103
div ecx
cmp edx, 0x203
ja 0x4033aa
mov eax, dword [0x4054a4]
mov ecx, dword [0x4054b0]
mov eax, dword [eax]
adc dword [ebp - 0x30c], 0xe2c
imul eax, dword [ecx]
mov ecx, dword [0x4054ac]
mov ecx, dword [ecx]
imul ecx, eax
mov eax, dword [ebp - 0x354]
add eax, dword [0x43b7a0]
mov dword [ebp - 0x354], eax
mov eax, dword [0x4054a8]
mov eax, dword [eax]
imul eax, ecx
push 0x66
xor edx, edx
mov ecx, dword [ebp - 0x12c]
or dword [0x43b774], ecx
pop ecx
div ecx
cmp edx, 0x88
jbe 0x402cd4
mov eax, dword [0x4054a4]
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0xf0]
xor ecx, edx
mov dword [ebp - 0xec], ecx
mov dword [0x43b704], 0
mov edx, dword [0x43b704]
add edx, 0x5b33
mov dword [ebp - 0x35c], edx
mov dword [0x43b418], 0x7548
mov edx, dword [0x43b418]
add dword [ebp - 0x35c], edx
xor dword [ebp - 0x35c], 0x1c95
mov dword [ebp - 0x3cc], 0x6e63
mov edx, dword [ebp - 0x3cc]
and dword [ebp - 0x35c], edx
mov dword [0x43b4a8], 0x6ccb
mov edx, dword [0x43b4a8]
add dword [ebp - 0x35c], edx
mov dword [0x43b7fc], 0x5b9c
mov edx, dword [ebp - 0x35c]
xor edx, dword [0x43b7fc]
mov dword [ebp - 0x35c], edx
mov dword [0x43b738], 0x5454
mov edx, dword [0x43b738]
add dword [ebp - 0x35c], edx
cmp dword [ebp - 0x35c], 0x12705
jne 0x402c52
mov edx, dword [ebp - 0x35c]
or dword [0x43b750], edx
mov edx, dword [sym.imp.USER32.dll_GetUserObjectInformationW]
push 0x43b770
push 0x1828
push 0x43b460
push 0x811b
push 0x7a0b
mov dword [ebp - 0x1fc], edx
call dword [ebp - 0x1fc]
mov edx, dword [0x43b888]
or byte [edx], 0x7e
jmp 0x402c70
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x274], ecx
mov ecx, dword [ebp - 0x274]
mov edx, dword [ebp - 0x27c]
adc dword [ecx], edx
mov ecx, dword [0x43ba50]
mov edx, dword [ebp - 0x2b0]
add dword [ecx], edx
mov ecx, dword [0x4054ac]
mov edx, dword [0x4054a8]
mov ecx, dword [ecx]
add ecx, dword [edx]
mov edx, dword [0x43b6d8]
or edx, dword [0x43b454]
mov dword [0x43b6d8], edx
imul ecx, dword [eax]
mov dword [eax], ecx
mov eax, dword [0x4054a8]
mov ecx, dword [0x4054a4]
mov edx, dword [0x43b5bc]
sub edx, dword [0x43b610]
mov dword [0x43b5bc], edx
mov edx, dword [0x4054ac]
mov ecx, dword [ecx]
or ecx, dword [edx]
xor dword [eax], ecx
jmp 0x4033aa
mov dword [esp + 0xc], 0xffffeffc
xor eax, eax
mov cl, byte [eax + str.qsAr]
and dword [0x43b400], 0x36d7
sub dword [0x43b400], 0x2e77
or dword [0x43b400], 0x1adb
xor cl, 0x5a
add cl, 0x4a
movzx cx, cl
mov word [eax*2 + 0x406148], cx
inc eax
cmp eax, 7
jb 0x402cde
xor eax, eax
movzx ecx, byte [eax + 0x4054d4]
adc dword [ebp - 0x3fc], 0x684d
xor ecx, 0x5a
add ecx, 0x4a
mov byte [eax + 0x406158], cl
inc eax
cmp eax, 9
jb 0x402d20
mov edi, 0xffffeffc
cmp edi, 0xffffefec
jne 0x402d66
mov dword [esp + 0x2c], 0x1f8
jmp 0x40333e
cmp edi, 0xffffeff1
jne 0x402d7f
mov dword [esp + 0x28], 0x108
jmp 0x40333e
cmp edi, 0xffffd01c
jne 0x402ecd
push 0x406158
push dword [esp + 0x1c]
sub dword [0x43b78c], 0x43b7cc
push ecx
mov dword [0x43b4d4], 0x25c4
mov ecx, dword [0x43b4d4]
mov dword [ebp - 0x3fc], ecx
or dword [ebp - 0x3fc], 0x1c0e
mov ecx, dword [ebp - 0x3fc]
mov dword [ebp - 0x29c], 0x4eb5
and ecx, dword [ebp - 0x29c]
imul ecx, ecx, 0x75aa
add ecx, 0x6497
mov dword [ebp - 0x1ac], 0x5a53
xor ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x2f4], 0x4adb
and ecx, dword [ebp - 0x2f4]
mov dword [ebp - 0x13c], ecx
or dword [ebp - 0x13c], 0x15df
mov ecx, dword [ebp - 0x13c]
add ecx, 0x84e9
cmp ecx, 0xccc8
jg 0x402e73
mov ecx, 0x6888
and dword [ebp - 0x37c], ecx
mov ecx, dword [sym.imp.KERNEL32.dll_EnumSystemLocalesA]
push dword [ebp - 0x24]
push 0x4e90
mov dword [ebp - 0x340], ecx
call dword [ebp - 0x340]
mov ecx, dword [ebp - 0x3b0]
xor ecx, dword [ebp - 0x3b4]
mov dword [ebp - 0x3b0], ecx
jmp 0x402e94
or dword [ebp - 0x230], 0x12a6
adc dword [ebp - 0x230], 0x5fd8
and dword [ebp - 0x230], 0x16bd
mov dword [ebp - 0x224], 0x7de0
mov dword [ebp - 0x224], 0x26d0
add dword [ebp - 0x224], 0x36aa
pop ecx
mov dword [esp + 0x3c], 0x3f0
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 0x10], eax
jmp 0x40333e
cmp dword [esp + 0x10], 0
je 0x402f78
cmp edi, 0xffffd013
jne 0x402f78
cmp dword [ebp - 0x278], 0x4309
ja 0x402f0d
adc dword [ebp - 0x2e4], 0x384b
or dword [ebp - 0x2e4], 0x4305
jmp 0x402f23
add dword [ebp - 0x3a4], 0x3233
or dword [ebp - 0x3a4], 0x2f00
sub dword [ebp - 0x39c], 0x7ac3
xor dword [ebp - 0x39c], 0xb57
push dword [esp + 0x24]
lea eax, [esp + 0x2c]
push dword [esp + 0x24]
push eax
call dword [esp + 0x1c]
mov dword [ebp - 0x3f8], 0x6a5c
mov dword [ebp - 0x3f8], 0x57ac
xor dword [ebp - 0x3f8], 0x1579
neg eax
sbb eax, eax
neg eax
mov dword [ebx], eax
jmp 0x40333e
cmp edi, 0xffffefe1
jne 0x402fcf
push 0x406148
or dword [0x43b458], 0x43b670
add dword [0x43b458], 0x43b4b8
xor dword [0x43b458], 0x43b448
mov dword [esp + 0x34], 0x300
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [esp + 0x18], eax
jmp 0x40333e
mov eax, dword [0x4054ac]
mov ecx, dword [0x4054a4]
mov edx, dword [0x4054a8]
or dword [ebp - 0x210], 0x7641
mov dword [ebp - 0x210], 0x2aac
sub dword [ebp - 0x210], 0x5297
mov ecx, dword [ecx]
sub ecx, dword [edx]
xor dword [eax], ecx
mov eax, dword [esp + 0x30]
add eax, dword [esp + 0x28]
mov ecx, dword [ebp - 0x36c]
sbb ecx, 0x35a0
mov dword [ebp - 0x36c], ecx
mov dword [0x43b654], 0x9f5c
mov ecx, dword [0x43b654]
mov dword [ebp - 0x380], ecx
xor dword [ebp - 0x380], 0x38c2
mov ecx, dword [ebp - 0x380]
imul ecx, ecx, 0x6137
mov dword [ebp - 0x2a8], 0x3213
xor ecx, dword [ebp - 0x2a8]
imul ecx, ecx, 0x6eef
mov dword [ebp - 0x230], 0x4f50
or ecx, dword [ebp - 0x230]
cmp ecx, 0x1b5bbf5f
ja 0x4030df
mov ecx, dword [0x43b788]
xor ecx, dword [ebp - 0x184]
mov dword [0x43b788], ecx
mov ecx, dword [sym.imp.GDI32.dll_GetStockObject]
push dword [ebp - 0x14]
mov dword [ebp - 0x2b8], ecx
call dword [ebp - 0x2b8]
mov ecx, dword [sym.imp.GDI32.dll_SelectPalette]
push 0x7f1d
push dword [ebp - 0x28]
push 0x2b81
mov dword [ebp - 0x25c], ecx
call dword [ebp - 0x25c]
mov ecx, dword [0x43b6ec]
and dword [0x43b5f8], ecx
jmp 0x4030f1
mov ecx, dword [0x43b5c4]
or ecx, 0x4473
mov dword [0x43b5c4], ecx
mov ecx, dword [0x43b604]
add ecx, dword [ebp - 0x3b4]
mov dword [0x43b604], ecx
imul eax, eax, 0xdffc
movzx eax, ax
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x28]
add dword [ebp - 0x280], 0x6376
xor eax, eax
inc eax
sub eax, ecx
mov ecx, dword [esp + 0x30]
add ecx, eax
mov eax, dword [ebp - 0x1e4]
or eax, 0x719
mov dword [ebp - 0x1e4], eax
mov eax, dword [esp + 0x20]
cdq
idiv ecx
mov eax, dword [0x43b89c]
mov ecx, 0x43f5
sbb dword [eax], ecx
mov eax, dword [esp + 0x28]
add eax, edx
mov dword [esp + 0x20], eax
mov eax, dword [0x4054a8]
mov ecx, dword [0x4054a4]
mov edx, dword [0x43b5e0]
add edx, dword [ebp - 0x158]
mov dword [0x43b5e0], edx
mov edx, dword [0x4054ac]
mov ecx, dword [ecx]
and ecx, dword [edx]
adc dword [ebp - 0xe4], 0x5032
mov dword [ebp - 0xe4], 0x19cb
adc dword [ebp - 0xe4], 0x1970
or dword [eax], ecx
mov eax, dword [esp + 0x34]
add eax, dword [esp + 0x2c]
imul eax, eax, 0xbffd
movzx eax, ax
mov ecx, dword [0x43b5d0]
and dword [ebp - 0x248], ecx
mov dword [0x43b7f0], 0x8359
mov ecx, dword [0x43b7f0]
add ecx, 0x20eb
mov dword [ebp - 0x164], 0x2b25
xor ecx, dword [ebp - 0x164]
imul ecx, ecx, 0x5752
mov dword [0x43b574], ecx
xor dword [0x43b574], 0x5be9
mov ecx, dword [0x43b574]
and ecx, 0x7229
mov dword [0x43b4fc], ecx
sub dword [0x43b4fc], 0x1a9d
mov ecx, dword [0x43b4fc]
cmp ecx, 0xda3
jg 0x403292
mov ecx, dword [0x43b46c]
sbb ecx, 0x5ae9
mov dword [0x43b46c], ecx
mov ecx, dword [sym.imp.GDI32.dll_SetBrushOrgEx]
push 0x43b720
push dword [ebp - 0x28]
push dword [ebp - 0x1c]
push 0x6220
mov dword [ebp - 0x204], ecx
call dword [ebp - 0x204]
mov ecx, dword [sym.imp.USER32.dll_EndDialog]
push dword [ebp - 0x1c]
push 0x23ae
mov dword [ebp - 0x1dc], ecx
call dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x170]
shr ecx, 1
mov dword [ebp - 0x170], ecx
jmp 0x40329e
mov ecx, 0x3920
sub dword [ebp - 0x170], ecx
mov ecx, dword [0x43b678]
adc ecx, dword [ebp - 0x3a8]
mov dword [0x43b678], ecx
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x2c]
xor eax, eax
inc eax
sub eax, ecx
mov ecx, dword [0x43b560]
sal ecx, 8
mov dword [0x43b560], ecx
mov ecx, dword [esp + 0x34]
add ecx, eax
mov eax, dword [esp + 0x24]
cdq
idiv ecx
lea eax, [ebp - 0x2b0]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2c0]
sub dword [eax], ecx
mov eax, dword [esp + 0x2c]
add eax, edx
mov dword [esp + 0x24], eax
mov eax, dword [0x4054a4]
mov edx, dword [0x43b4a4]
mov ecx, dword [0x43b514]
add ecx, edx
mov dword [0x43b514], ecx
mov ecx, dword [0x4054ac]
mov edx, dword [0x4054a8]
mov ecx, dword [ecx]
imul ecx, dword [edx]
add dword [eax], ecx
mov eax, dword [0x43b79c]
or eax, dword [0x43b4b4]
mov dword [0x43b79c], eax
mov eax, dword [esp + 0x14]
xor edi, esi
xor eax, esi
lea edi, [eax + edi + 0x601a]
xor edi, esi
cmp edi, 0xffffd010
jne 0x402d4d
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
sbb dword [0x43b6ac], 0x43b590
xor eax, esi
xor ecx, esi
lea eax, [eax + ecx + 0x601a]
xor dword [ebp - 0x364], 0x47aa
mov dword [ebp - 0x364], 0x38
adc dword [ebp - 0x364], 0x707
xor eax, esi
mov dword [esp + 0xc], eax
cmp eax, 0xffffd0fd
jne 0x402cdc
pop edi
pop esi
pop ebx
mov dword [ebp - 0x288], 0x44
mov esp, ebp
pop ebp
ret 4