Function at 0x10040195
Capabilities:
Delete registry key
Extract resource via kernel32 functions

Disassembly:
mov eax, 0x1005ca3e
call fcn.1005ba30
sub esp, 0x24c
push ebx
push esi
mov dword [ebp - 0x44], ecx
xor esi, esi
mov dword [ebp - 0x20], 0xfffffff8
xor ebx, ebx
mov dword [ebp - 0x14], 0x1090
inc esi
cmp dword [ebp - 0x14], 0x11d7
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x40], edx
jle 0x10040223
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x34], ebx
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x1f0]
cdq
push edx
push eax
call fcn.1000d0de
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100401f0
mov eax, dword [eax]
push eax
call fcn.1004676f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x1f0]
call fcn.10011d14
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x754c
jl 0x100401d4
inc edi
cmp edi, 0x2710
jl 0x100401cf
push ebx
call dword [sym.imp.KERNEL32.dll_ClearCommBreak]
cmp dword [ebp - 0x14], 0xcbe
jge 0x10040237
push 0x1000b5fc
call fcn.1004676f
pop ecx
or dword [ebp - 4], 0xffffffff
push 2
mov dword [ebp - 0x2c], 0x8009
mov dword [ebp - 0x18], ebx
pop edi
jmp 0x10040258
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x74], 0x98070ade
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1004024a
mov dword [ebp - 0x18], ebx
jmp 0x10040270
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x54], 4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10040262
mov dword [ebp - 0x3c], 0x77a4
cmp dword [ebp - 0x3c], 0x78f5
jle 0x10040319
mov eax, ebx
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov ecx, edi
mov edx, ebx
shl eax, cl
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], eax
mov ecx, edx
mov edi, ebx
sar eax, cl
mov dword [ebp - 0x2c], eax
xor eax, edi
lea ecx, [ebp - 0x208]
cdq
push edx
push eax
call fcn.1000d0de
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100402c3
mov eax, dword [eax]
push eax
call fcn.1004676f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x208]
call fcn.10011d14
mov eax, dword [ebp - 0x2c]
inc edi
cmp edi, 0x63d6
jl 0x100402a9
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
inc edx
mov dword [ebp - 0x34], edx
cmp edx, 0x1f64
jl 0x100402a0
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x416a
jl 0x10040294
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x7066
jl 0x1004028f
push 2
pop edi
dec dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x70], eax
jne 0x10040351
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x74], 0xfffe
jbe 0x10040336
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x3c], 0x7605
jge 0x1004036b
push 0x1000b61c
call fcn.1004676f
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], ebx
jmp 0x10040382
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x74], 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10040374
mov dword [ebp - 0x20], 0x68ec0ae9
mov dword [ebp - 0x24], 0x393e75cb
mov dword [ebp - 0x14], ebx
jmp 0x100403ab
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xdc], 0x869b7d6b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1004039a
mov dword [ebp - 0x20], 0xffffffff
jmp 0x100403fe
mov dword [ebp - 0x14], 0x5cd53bc6
mov dword [ebp - 0x14], ebx
jmp 0x100403d6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc8], 0xffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100403c5
mov dword [ebp - 0x14], ebx
jmp 0x100403ed
mov dword [ebp - 0x34], 0x8f6c74aa
dec dword [ebp - 0x34]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x100403e0
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe6
jg 0x100403b9
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
cmp edx, eax
setle cl
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 0xdc]
cmp eax, esi
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x20]
setge cl
imul edx, ecx
xor ecx, ecx
cmp eax, edx
setge cl
xor eax, eax
test ecx, ecx
setns al
mov dword [ebp - 0xd8], eax
mov eax, dword [0x10605320]
test al, 1
jne 0x100404e0
or eax, esi
mov dword [0x10605320], eax
push ebx
mov dword [ebp - 4], 4
push ebx
mov dword [0x106052e0], ebx
mov dword [0x106052e4], ebx
call fcn.10013d90
mov dword [0x106052e0], eax
mov dword [0x106052e8], ebx
mov dword [0x106052f0], ebx
mov byte [ebp - 4], 6
mov ecx, 0x106052e8
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xc4]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x1a8]
mov dword [0x106052fc], 0x3f800000
push eax
mov dword [0x106052ec], ebx
call fcn.10013b68
push 0x1005cca0
mov dword [0x106052f4], 7
mov dword [0x106052f8], 8
call fcn.10046745
or dword [ebp - 4], 0xffffffff
pop ecx
imul eax, dword [ebp - 0x44], 0x2710
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
call fcn.10041be4
mov eax, dword [eax]
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], ebx
jmp 0x10040518
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x258], 0x5711
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10040507
mov dword [ebp - 0x14], ebx
jmp 0x1004053b
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10040538
push 0x883
push ebx
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x10040523
cmp dword [ebp - 0x34], 0
je 0x10040767
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x14], 0xe043eef7
mov dword [ebp - 0x24], ebx
jmp 0x1004056f
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x194], 0xfe0c2378
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x1004055e
mov dword [ebp - 0x18], ebx
jmp 0x100405a3
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
add eax, 0x5773
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffea
jg 0x1004057a
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
imul edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x14]
je 0x100405c9
mov eax, esi
cmp dword [ebp - 0x18], ebx
jne 0x100405cb
mov eax, ebx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
imul ecx, eax
mov dword [ebp - 0x18c], ecx
test ecx, ecx
je 0x10040610
mov dword [ebp - 0x18], ebx
jmp 0x10040608
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100405f5
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10040605
push ebx
call dword [sym.imp.USER32.dll_RegisterClassA]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x11
jl 0x100405e6
jmp 0x10040630
mov dword [ebp - 0x14], 0xffffffff
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
lea eax, [edx - 1]
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x138]
push edi
mov dword [ebp - 0xd4], eax
call fcn.10011794
mov dword [ebp - 4], 7
mov dword [ebp - 0x24], 0x535d
cmp dword [ebp - 0x24], 0x541d
jle 0x100406b1
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x34], ebx
mov eax, edi
cdq
idiv ecx
lea ecx, [ebp - 0x238]
mov eax, edx
cdq
push edx
push eax
call fcn.1000d0de
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10040682
mov eax, dword [eax]
push eax
call fcn.1004676f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x238]
call fcn.10011d14
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x39a7
jl 0x10040663
inc edi
cmp edi, 0x2b4c
jl 0x1004065e
push 2
pop edi
mov dword [ebp - 0x14], 0x566a927
cmp dword [ebp - 0x24], 0x52ef
jge 0x100406cc
push 0x1000b630
call fcn.1004676f
pop ecx
mov dword [ebp - 0x24], ebx
jmp 0x100406e4
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x138]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x100406d1
mov ecx, dword [ebp - 0x138]
cmp dword [ecx + 4], ebx
je 0x10040723
mov dword [ebp - 0x34], 0x4bc662a2
xor edx, edx
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp dword [ecx + 4], esi
mov eax, dword [ebp - 0x14]
sete dl
sub edx, dword [ecx + 4]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 0x40], ecx
jmp 0x10040741
mov dword [ebp - 0x14], ebx
jmp 0x1004073b
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10040738
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc
jne 0x10040728
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10040757
push esi
push ebx
push 0xdfc
call dword [sym.imp.GDI32.dll_SelectPalette]
lea ecx, [ebp - 0x138]
call fcn.10011816
jmp 0x10041b50
mov eax, dword [0x10605320]
test al, 2
jne 0x100407fe
or eax, edi
mov dword [0x10605320], eax
push ebx
mov dword [ebp - 4], 0xa
push ebx
mov dword [0x10605300], ebx
mov dword [0x10605304], ebx
call fcn.10013d90
mov dword [0x10605300], eax
mov dword [0x10605308], ebx
mov dword [0x10605310], ebx
mov byte [ebp - 4], 0xc
mov ecx, 0x10605308
mov dword [ebp - 0xe0], eax
lea eax, [ebp - 0xe0]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x1b8]
mov dword [0x1060531c], 0x3f800000
push eax
mov dword [0x1060530c], ebx
call fcn.10013b68
push 0x1005cc9b
mov dword [0x10605314], 7
mov dword [0x10605318], 8
call fcn.10046745
or dword [ebp - 4], 0xffffffff
pop ecx
lea eax, [ebp - 0x44]
xorps xmm0, xmm0
push eax
movdqu xmmword [ebp - 0xf0], xmm0
call fcn.10041c46
cmp byte [ebp + 0xc], 0
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
jne 0x10040825
test eax, eax
jne 0x1004170c
push esi
lea ecx, [ebp - 0xb0]
call fcn.10011794
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x30], 0xa3888451
mov dword [ebp - 0x18], 0xb2
cmp dword [ebp - 0x18], 0x3bc
jle 0x100408ad
mov edi, ebx
mov eax, edi
mov dword [ebp - 0x20], 0x2ca9
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], 0x7359
mov esi, ebx
mov ebx, dword [ebp - 0x14]
mov eax, esi
mov ecx, 0x106040f8
or eax, ebx
cdq
push edx
push eax
call fcn.1001156c
inc esi
cmp esi, 0x357c
jl 0x1004086c
dec ebx
dec dword [ebp - 0x24]
push 0
mov dword [ebp - 0x14], ebx
pop ebx
jne 0x10040867
mov eax, dword [ebp - 0x30]
dec eax
dec dword [ebp - 0x20]
mov dword [ebp - 0x30], eax
jne 0x1004085d
inc edi
cmp edi, 0x1f08
jl 0x10040851
xor esi, esi
push 2
inc esi
pop edi
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x18], 0xffffffc3
jge 0x100408ea
mov edx, 0x1000b658
mov ecx, 0x106040f8
call fcn.10013e7d
jmp 0x100408ea
mov dword [ebp - 0x14], 0xfffffffd
mov eax, 0x6cdee94c
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], 5
mov dword [ebp - 0x20], 0x3970c0f3
mov dword [ebp - 0x2c], 0xca43862d
mov dword [ebp - 0x18], ebx
jmp 0x10040944
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb0]
mov dword [eax + ecx*4], 0x76c3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10040931
mov dword [ebp - 0x18], ebx
jmp 0x1004095f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x12c], 0xba22e974
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1004094e
push 3
mov dword [ebp - 0x18], ebx
pop edi
jmp 0x10040979
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x118], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1004096c
mov dword [ebp - 0x30], 0xd979
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x48]
imul eax, dword [ebp - 0x30]
test eax, eax
jne 0x1004099b
mov eax, ebx
cmp dword [ebp - 0x14], ebx
je 0x1004099d
mov eax, esi
cmp dword [ebp - 0x48], eax
je 0x100409a9
mov ecx, esi
cmp dword [ebp - 0x30], ebx
jne 0x100409ab
mov ecx, ebx
mov eax, dword [ebp - 0xf8]
mov edx, esi
mov dword [ebp - 0x12c], eax
dec dword [ebp - 0xf8]
cmp eax, ecx
mov eax, dword [ebp - 0xb0]
cmovg edx, ebx
mov ecx, dword [eax]
lea eax, [edx - 0x9783]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setle dl
imul edx, ecx
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0xec8e12b6
jne 0x100409f5
mov edx, ebx
cmp dword [ebp - 0x38], ebx
je 0x100409f7
mov edx, esi
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x24]
add ecx, edx
sub ecx, eax
cmp esi, ecx
mov ecx, 0xb58e469a
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x20], 0x19
jmp 0x10040b32
mov dword [ebp - 0x18], 0x1f806eb7
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], ebx
jl 0x10040b2f
mov dword [ebp - 0x28], 0x60bd9b76
mov dword [ebp - 0x30], ebx
jmp 0x10040b17
mov dword [ebp - 0x2c], 0xa5da0de9
mov dword [ebp - 0x24], ebx
jmp 0x10040b0b
mov dword [ebp - 0x38], 0x878ff5f6
mov dword [ebp - 0x2c], 0x3358
mov dword [ebp - 0x12c], ebx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x38], 0x12446b8c
cmp dword [ebp - 0x38], esi
jg 0x10040a8b
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14], ebx
je 0x10040a93
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x18], ebx
je 0x10040aa2
mov edx, esi
cmp dword [ebp - 0x114], ebx
jne 0x10040aa4
mov edx, ebx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x110], ecx
lea eax, [ecx + 4]
xor ecx, ecx
cmp eax, 0x5570
mov eax, dword [ebp - 0xb0]
setne cl
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x24]
setl dl
xor ecx, ecx
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp + eax*4 - 0x100]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x2c], eax
mov eax, 0xfffe
sete cl
imul edx, ecx
mov ecx, 0xf207b6f8
cmp eax, edx
sbb eax, eax
inc eax
cmp eax, 0x90cc824f
sbb eax, eax
inc eax
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jle 0x10040a5f
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jle 0x10040a50
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x14]
jns 0x10040a41
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffff
jge 0x10040a2e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb0]
call fcn.10011816
mov dl, byte [ebp + 0xc]
lea eax, [ebp - 0x248]
mov ecx, dword [ebp - 0x44]
push eax
call fcn.10036f76
mov esi, eax
lea edi, [ebp - 0xf0]
pop ecx
push 2
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x24], 0x1ca2961c
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x30], 0xb300a9e1
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x14], ebx
pop edi
jmp 0x10040b9c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], 0xe6e40424
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10040b8e
mov eax, dword [ebp - 0x24]
xor esi, esi
sub eax, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp esi, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x42c7
setge cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
je 0x10040cf7
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000bc60]
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x1c8]
mov dword [ebp - 0x2c], 0x1fdbd017
push eax
push ebx
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], ebx
movdqu xmmword [ebp - 0x1c8], xmm0
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
call fcn.1001489f
push edi
lea ecx, [ebp - 0x124]
mov dword [ebp - 4], 0x10
call fcn.10011794
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x14], ebx
jmp 0x10040c38
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x124]
mov dword [eax + ecx*4], 0xd9796a0b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10040c25
mov dword [ebp - 0x20], 0xfffffff8
mov edx, esi
cmp dword [ebp - 0x20], ebx
jne 0x10040c4d
mov edx, ebx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, esi
setle cl
imul ecx, dword [ebp - 0x2c]
cmp edx, esi
sbb eax, eax
neg eax
cmp eax, ecx
jle 0x10040c71
mov dword [ebp - 0x2c], 0xde6fc608
dec dword [ebp - 0x2c]
jmp 0x10040c81
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jne 0x10040c81
dec dword [ebp - 0x68]
inc dword [ebp - 0x20]
je 0x10040c79
cmp dword [ebp - 0x24], ebx
jne 0x10040ccb
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x30], ebx
jne 0x10040c94
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x80]
xor ecx, ecx
mov eax, dword [eax + 0xc]
inc eax
cmp eax, 0xfffffffd
mov eax, dword [ebp - 0x124]
setne cl
sub ecx, dword [eax]
mov eax, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
add ecx, 0xffff74d3
imul eax, ecx
cmp eax, esi
jne 0x10040cc2
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x124]
mov ecx, dword [edx + 4]
dec ecx
mov dword [eax + 4], ecx
mov dword [edx + 0xc], ecx
lea ecx, [ebp - 0x124]
call fcn.10011816
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call fcn.10011816
jmp 0x10040d40
mov dword [ebp - 0x14], ebx
jmp 0x10040d0d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc0], 0xa0455d89
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10040cfc
mov dword [ebp - 0x18], ebx
jmp 0x10040d30
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10040d2d
push 0x234
push 0x34
call dword [sym.imp.USER32.dll_ReleaseDC]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x18
jl 0x10040d17
mov dword [ebp - 0xc0], 0x8f9f0ac7
cmp byte [ebp + 0xc], 0
je 0x10040e11
cmp dword [ebp - 0xe8], 0
je 0x10040e11
mov dword [ebp - 0x14], 0x53d0
mov dword [ebp - 0x20], 0x613717be
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x2c], 0xa2d34caa
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x4ed383de
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
jmp 0x10040d96
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1a4], 0xfffffff7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x10040d85
dec dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
mov dword [ebp - 0x1a4], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x30]
cmp ecx, 0xbc99
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x33356370
setg al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x28], 0xee56e31b
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0x3c], 0
jne 0x1004170c
cmp dword [ebp - 0xf0], 0
jle 0x1004170c
mov dword [ebp - 0x38], 0x4472
cmp dword [ebp - 0x38], 0x4497
jle 0x10040e94
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov edi, ebx
mov ecx, ebx
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x2c], ecx
mov eax, edi
sar eax, cl
mov ecx, 0x106040f8
and eax, esi
or eax, ebx
cdq
push edx
push eax
call fcn.1001156c
mov ecx, dword [ebp - 0x2c]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0xd9b
jl 0x10040e47
inc edi
push 0
pop ebx
cmp edi, 0x7cfb
jl 0x10040e3f
inc esi
cmp esi, 0x7fe5
jl 0x10040e3d
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x2424
jl 0x10040e3b
xor esi, esi
push 2
inc esi
pop edi
mov dword [ebp - 4], 0x11
cmp dword [ebp - 0x38], 0x4198
jge 0x10040eb3
mov edx, 0x1000b6d8
mov ecx, 0x106040f8
call fcn.10013e7d
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x14], 0xd81479b6
mov dword [ebp - 0x24], ebx
jmp 0x10040eff
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x98], esi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x10040ef2
mov dword [ebp - 0x38], 0x4957
cmp dword [ebp - 0x38], 0x4c74
jle 0x10040f88
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov dword [ebp - 0x2c], ebx
cdq
idiv edi
mov dword [ebp - 0x28], ebx
mov edi, ebx
mov eax, edx
mov dword [ebp - 0x48], eax
mov ecx, edi
sar eax, cl
lea ecx, [ebp - 0x220]
cdq
push edx
push eax
call fcn.1000d0de
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10040f48
mov eax, dword [eax]
push eax
call fcn.1004676f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x220]
call fcn.10011d14
mov eax, dword [ebp - 0x48]
inc edi
cmp edi, 0x935
jl 0x10040f2c
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x5f06
jl 0x10040f1f
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x1295
jl 0x10040f1a
push 2
pop edi
mov dword [ebp - 0x90], esi
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x20], 0x7689
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], 0x70cadd63
cmp dword [ebp - 0x38], 0x4836
jge 0x10040fc8
push 0x1000b720
call fcn.1004676f
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
jmp 0x10041085
mov dword [ebp - 0x2c], ebx
xor edx, edx
mov dword [ebp - 0x14], 0x479ea408
mov dword [ebp - 0x24], 0xfffffffa
mov dword [ebp - 0x28], 0xa97d63f7
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0xfffffffc
mov eax, dword [ebp - 0x20]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], ebx
jne 0x1004101a
mov edx, ebx
cmp dword [ebp - 0x20], ebx
je 0x1004101c
mov edx, esi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
sub ecx, dword [ebp - 0x90]
cmp ecx, esi
setl al
sub eax, 0x2c3a144c
je 0x1004103d
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x94]
dec eax
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0xb357
sub ecx, eax
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
mov eax, dword [ebp - 0x90]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x28], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x18
jle 0x10040fd8
mov dword [ebp - 0x14], 0x9b3198a8
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100410aa
push 0x2136
call dword [sym.imp.USER32.dll_DrawMenuBar]
mov dword [ebp - 0x14], 0xf
jmp 0x100410c2
mov dword [ebp - 0x28], 0xe60b
cmp dword [ebp - 0x28], ebx
jne 0x100410c8
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 9
jne 0x100410b3
mov dword [ebp - 0x14], 0x1f2c29a3
mov dword [ebp - 0x14], ebx
jmp 0x100410e5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x19c], 0x6af1124f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100410d4
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100410fb
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov dword [ebp - 0x14], ebx
jmp 0x10041111
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x19c], 0x603fa75c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10041100
mov dword [ebp - 0x20], 0x1b3c692b
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x30], 0x807383cc
mov dword [ebp - 0x28], 0x8f9ed02e
mov dword [ebp - 0x28], 0xfffffffb
push edi
call fcn.10011794
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x28], 0xe69d0863
push 3
call fcn.10011794
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x18], ebx
jmp 0x1004117c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1b4]
mov dword [eax + ecx*4], 0x6fbd10ca
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10041169
push 3
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x10041198
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x150]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10041189
cmp dword [ebp - 0x20], ebx
je 0x10041247
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x20], ebx
jmp 0x10041238
mov dword [ebp - 0x14], 0x9febb674
mov dword [ebp - 0x14], ebx
jmp 0x10041230
push esi
lea ecx, [ebp - 0x10c]
call fcn.10011794
mov dword [ebp - 0x24], ebx
jmp 0x100411e1
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x100411d2
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10c]
cmp dword [eax], ebx
sete cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x30], ebx
jmp 0x1004121d
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], 0xf209
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jl 0x1004120a
lea ecx, [ebp - 0x10c]
call fcn.10011816
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
je 0x100411c1
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x38
jl 0x100411b5
jmp 0x100412d4
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x28], 0xf7d1649b
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x28], 0x624b6749
mov dword [ebp - 0x28], 0x87a9b65c
mov dword [ebp - 0x28], 0x8cdf2ab2
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x28], 0x70ce404d
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], ebx
jmp 0x100412ab
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x184], 0x34a2c930
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1004129a
mov dword [ebp - 0x18], ebx
jmp 0x100412c6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x188], 0xa227283a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100412b5
mov eax, dword [ebp - 0x150]
dec dword [eax + 8]
lea ecx, [ebp - 0x150]
call fcn.10011816
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b4]
call fcn.10011816
mov dword [ebp - 0x30], 6
mov eax, 0xc84814c7
mov dword [ebp - 0x20], 0x2d714f98
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x2c], 0x5c67
cmp dword [ebp - 0x2c], 0x5dde
jle 0x1004136c
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov ebx, dword [ebp - 0x14]
lea eax, [edi + ebx]
mov esi, 0x5bb7
mov dword [ebp - 0x28], eax
mov ebx, eax
mov eax, ebx
mov ecx, 0x106040f8
cdq
push edx
push eax
call fcn.1001156c
dec ebx
dec esi
jne 0x1004133e
mov ebx, dword [ebp - 0x14]
inc edi
cmp edi, 0x40d7
jl 0x10041331
inc ebx
push esi
mov dword [ebp - 0x14], ebx
cmp ebx, 0x3772
pop ebx
jl 0x1004132c
inc esi
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp esi, eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
neg ecx
cmp ecx, 0x969a
mov ecx, dword [ebp - 0x30]
setle al
sub ecx, eax
neg ecx
sbb ecx, ecx
add ecx, 0xffff0008
neg ecx
sbb ecx, ecx
neg ecx
cmp dword [ebp - 0x30], ecx
jge 0x100413c0
mov dword [ebp - 0x28], 0xc2542929
mov dword [ebp - 0x28], 0xe486aeba
jmp 0x100414bb
mov dword [ebp - 0x18], 0x356a0b34
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], 0x1c
jmp 0x100414b1
mov dword [ebp - 0x14], 0xfffffffe
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0xeb81f947
mov eax, dword [ebp - 0x18]
setne dl
sub edx, 0x1adf890b
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, edx
mov eax, dword [ebp - 0x14]
setle cl
add ecx, 0x6d99
sub eax, ecx
neg eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x18]
test eax, eax
jne 0x10041423
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
xor ecx, ecx
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setl cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
je 0x10041452
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100414ae
push 0x8f9
push ebx
call dword [sym.imp.USER32.dll_GetSubMenu]
jmp 0x100414ae
mov dword [ebp - 0x14], 0x752e
mov dword [ebp - 0x28], 0x5bd571e9
mov dword [ebp - 0x20], 0xa870c387
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff7
jne 0x10041484
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, 0xf660
setne cl
cmp ecx, dword [ebp - 0x30]
mov ecx, ebx
jle 0x10041486
mov ecx, esi
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp eax, edx
setg cl
cmp ecx, dword [ebp - 0x16c]
jg 0x100414a9
mov eax, esi
cmp dword [ebp - 0x14], ebx
jne 0x100414ab
mov eax, ebx
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe2
jne 0x100413d9
mov dword [ebp - 4], 0x17
cmp dword [ebp - 0x2c], 0x5c4f
jge 0x100414da
mov edx, 0x1000b778
mov ecx, 0x106040f8
call fcn.10013e7d
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], ebx
jmp 0x10041538
mov dword [ebp - 0x28], 0x3a2c
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10041530
push 0x22a6
push 0x1710
push 0x64
push 0x95b
push ebx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
cmp dword [ebp - 0x28], ebx
jne 0x1004153e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jge 0x10041508
mov dword [ebp - 0x38], 0x346f
cmp dword [ebp - 0x38], 0x36d1
jle 0x1004159e
push ebx
push 0x1efc
push 0x1748
push 0x1b0
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
lea eax, [edi + esi]
mov ecx, 0x106040f8
or eax, ebx
cdq
push edx
push eax
call fcn.1001156c
inc ebx
cmp ebx, 0x6e61
jl 0x1004156b
inc edi
push 0
pop ebx
cmp edi, 0x4bcd
jl 0x10041568
inc esi
cmp esi, 0x3518
jl 0x10041566
xor esi, esi
inc esi
mov ecx, dword [ebp - 0xec]
test ecx, ecx
je 0x100416e9
call fcn.100400f5
mov edi, eax
push 0xfffffffffffffffa
pop eax
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x24], 0x111738ab
mov dword [ebp - 0x20], 0x68d526d2
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x28], 0x8c443eb6
mov dword [ebp - 0x2c], 0xbc7d
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x14], ebx
jmp 0x1004160a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbc], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100415f9
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x24], ebx
jne 0x10041633
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, 0xfffffffb
mov eax, dword [ebp - 0x30]
setne cl
sub eax, ecx
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, 0x3062
setne cl
add ecx, dword [ebp - 0x174]
je 0x100416cd
mov dword [ebp - 0x14], 0xe7504ed0
mov dword [ebp - 0x28], 0xeca6d786
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xb4], ebx
je 0x10041682
cmp dword [ebp - 0x14], 0xe213
mov edx, esi
jg 0x10041684
mov edx, ebx
mov eax, dword [ebp - 0xb8]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setle cl
xor edx, edx
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x14]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0xb8]
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
xor ecx, ecx
test eax, eax
setg cl
xor eax, eax
cmp ecx, 0x2fc53d8b
setne al
mov dword [ebp - 0x2c], eax
jmp 0x100416de
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100416de
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
lea eax, [ebp - 0x44]
push eax
call fcn.10041c46
mov dword [eax], edi
mov dword [ebp - 4], 0x19
cmp dword [ebp - 0x38], 0x30f2
jge 0x10041708
mov edx, 0x1000b7f8
mov ecx, 0x106040f8
call fcn.10013e7d
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], 0x8cff0ea7
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0xe
jg 0x1004187e
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x2c], 0x14383674
mov dword [ebp - 0x2c], 0x22d4
cmp dword [ebp - 0x2c], 0x2501
jle 0x1004177f
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov ecx, 0x106040f8
and eax, edi
xor eax, esi
cdq
push edx
push eax
call fcn.1001156c
inc ebx
cmp ebx, 0xa8a
jl 0x1004174b
inc edi
push 0
pop ebx
cmp edi, 0x199e
jl 0x10041748
inc esi
cmp esi, 0x471
jl 0x10041746
xor esi, esi
inc esi
mov dword [ebp - 0x28], 0x57f3
mov dword [ebp - 4], 0x1b
cmp dword [ebp - 0x2c], 0x2074
jge 0x100417a5
mov edx, 0x1000b874
mov ecx, 0x106040f8
call fcn.10013e7d
or dword [ebp - 4], 0xffffffff
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100417b8
call dword [sym.imp.KERNEL32.dll_GetConsoleCP]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
cmp ecx, dword [ebp - 0x20]
jne 0x100417dc
cmp dword [ebp - 0x20], eax
sbb eax, eax
neg eax
imul eax, dword [ebp - 0x20]
cmp eax, 0x4571
mov eax, ebx
jg 0x100417de
mov eax, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
sub eax, 0xeb32
neg eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x14]
cmp eax, esi
mov eax, dword [ebp - 0x20]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x14]
jl 0x10041817
mov edx, esi
cmp dword [ebp - 0x20], ebx
jne 0x10041819
mov edx, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x28], ecx
inc dword [ebp - 0x20]
jmp 0x10041716
lea ecx, [ebp - 0xf0]
call fcn.1003c7ca
cmp dword [ebp - 0x34], 0
jne 0x10041b50
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x10041b50
mov dword [ebp - 0x20], 0x860b4ffb
mov dword [ebp - 0x14], ebx
jmp 0x100418bb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8c], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100418aa
push 2
pop edi
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], ebx
jl 0x1004198d
mov eax, 0xd8bc0d13
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x14], ebx
jmp 0x1004190a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa4], 0x1a35
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100418f9
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x88]
sub eax, dword [ebp - 0x88]
je 0x1004194f
mov ecx, esi
cmp dword [ebp - 0x8c], ebx
jne 0x10041951
mov ecx, ebx
mov eax, dword [ebp - 0x8c]
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0xa0]
cmp ecx, eax
setne dl
mov dword [ebp - 0x2c], edx
xor edx, edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, 0xd8bc0d13
setg dl
mov dword [ebp - 0x15c], edx
dec dword [ebp - 0x20]
jns 0x100418d5
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], ebx
jl 0x100419a4
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x28], esi
dec dword [ebp - 0x20]
jns 0x10041995
mov edx, dword [ebp - 0x40]
call fcn.1004012d
mov edi, eax
mov dword [ebp - 0x18], 0x632667a8
mov dword [ebp - 0x24], esi
lea ecx, [ebp - 0x144]
push 4
mov dword [ebp - 0xd4], edi
call fcn.10011794
mov dword [ebp - 0x2c], 0x963f6d1d
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], 0x14d41bd4
mov dword [ebp - 0x28], 0x4e52275d
mov dword [ebp - 0x28], 0xee35d5d9
mov dword [ebp - 0x18], ebx
jmp 0x100419fd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x60], 0xf99f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x100419ef
mov dword [ebp - 0x18], ebx
jmp 0x10041a15
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1d8], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10041a08
mov dword [ebp - 0x18], ebx
jmp 0x10041a33
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x144]
mov dword [eax + ecx*4], 0x32de9e5a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10041a20
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], ebx
jl 0x10041b3a
mov dword [ebp - 0x40], 0xfffffffb
mov dword [ebp - 0x28], 0x5c380a38
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x60]
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x60], ebx
jne 0x10041af1
cmp dword [ebp - 0x60], ebx
jne 0x10041a77
mov ecx, ebx
cmp dword [ebp - 0x18], ebx
je 0x10041a79
mov ecx, esi
mov eax, dword [ebp - 0x18]
cmp ecx, dword [ebp + eax*4 - 0x60]
je 0x10041a89
mov eax, esi
cmp dword [ebp - 0x24], ebx
jne 0x10041a8b
mov eax, ebx
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x60]
add eax, 0x34e4
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x60]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x60]
cmp dword [ebp - 0x18], ebx
jne 0x10041ac4
mov eax, dword [ebp - 0x18]
mov ecx, ebx
cmp dword [ebp + eax*4 - 0x60], ebx
je 0x10041ac6
mov ecx, esi
mov eax, dword [ebp - 0x144]
mov eax, dword [eax + 4]
sub eax, ecx
add eax, 0x41e4
cmp eax, 9
mov eax, dword [ebp - 0x28]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, ebx
sete cl
sub ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x28], ecx
je 0x10041af3
mov eax, esi
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], ebx
jmp 0x10041b2b
mov dword [ebp - 0x24], ebx
jmp 0x10041b22
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10041b1f
push 0x1d3e
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jle 0x10041b09
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x10041b04
dec dword [ebp - 0x18]
jns 0x10041a49
lea ecx, [ebp - 0x144]
call fcn.10011816
lea eax, [ebp - 0x64]
push eax
call fcn.10041be4
mov dword [eax], edi
mov eax, dword [ebp + 8]
lea esi, [ebp - 0xd4]
mov ecx, dword [ebp - 0xc]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret