Function at 0x1004cfbb
Capabilities:
Extract resource via kernel32 functions
Get keyboard layout

Disassembly:
mov eax, 0x10068935
call fcn.10067390
sub esp, 0x2d0
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x60], ecx
inc edi
push edi
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x4c], edx
call fcn.10013363
mov dword [ebp - 0x14], 0x5252cb13
xor ebx, ebx
mov dword [ebp - 0x34], 2
mov dword [ebp - 0x1c], ebx
jmp 0x1004d00e
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], 0xc03342eb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1004cffb
mov dword [ebp - 0x14], ebx
jmp 0x1004d02b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], 0x8ecf54c3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1004d018
mov dword [ebp - 0x14], ebx
jmp 0x1004d044
mov eax, dword [ebp - 0x110]
mov dword [eax], 0x2263126f
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe4
jge 0x1004d035
lea ecx, [ebp - 0x110]
call fcn.100133e5
mov dword [ebp - 0x30], 0x2c70bb74
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x1c], ebx
jmp 0x1004d08e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5c], 0x8206
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1004d080
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], ebx
jl 0x1004d0be
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x1004d0b9
mov dword [ebp - 0x44], 0xa1fa
inc dword [ebp - 0x44]
dec dword [ebp - 0x1c]
jns 0x1004d0aa
dec dword [ebp - 0x30]
jns 0x1004d09b
mov dword [ebp - 0x30], ebx
or esi, 0xffffffff
cmp dword [ebp - 0x30], 0xb
jl 0x1004d2b1
mov dword [ebp - 0x24], 0xf1860ec0
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jg 0x1004d2a9
mov dword [ebp - 0x14], 2
mov dword [ebp - 0x14], ebx
jmp 0x1004d1ac
mov dword [ebp - 0x1c], 0xc7c6f1fd
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0xcc], ebx
jne 0x1004d1b5
mov dword [ebp - 0x1c], ebx
jmp 0x1004d1a0
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0xcc]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + eax*4 - 0x5c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5c], edx
mov eax, dword [ebp - 0x14]
test eax, eax
sets cl
add ecx, edx
je 0x1004d13e
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x5c], ebx
jne 0x1004d14e
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x5c], ebx
mov eax, ebx
je 0x1004d150
mov eax, edi
xor ecx, ecx
cmp eax, 0xb5c4
setl cl
xor eax, eax
cmp ecx, 0x10b49f2b
setle al
xor edx, edx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0xcc]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setle dl
cmp dword [ebp + eax*4 - 0xcc], edx
jne 0x1004d18f
mov ecx, ebx
cmp dword [ebp - 0x14], ebx
je 0x1004d191
mov ecx, edi
mov eax, dword [ebp - 0x24]
neg ecx
mov dword [ebp + eax*4 - 0xcc], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x1004d10f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1004d0f0
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jg 0x1004d2a1
mov dword [ebp - 0x20], 3
cmp dword [ebp - 0x20], ebx
jl 0x1004d299
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x1004d291
mov dword [ebp - 0x28], 0x23c4
cmp dword [ebp - 0x28], 0x2752
jle 0x1004d233
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x44], ebx
mov eax, esi
cdq
idiv ecx
mov ecx, 0x10611478
mov eax, edx
cdq
push edx
push eax
call fcn.10013138
mov ecx, dword [ebp - 0x44]
inc ecx
mov dword [ebp - 0x44], ecx
cmp ecx, 0x7c52
jl 0x1004d1f7
inc esi
cmp esi, 0x4c9
jl 0x1004d1f2
push 0xe50
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
or esi, 0xffffffff
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004d247
push 0x2109
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x28], 0x21b4
jge 0x1004d286
mov edx, 0x1000c5d8
mov ecx, 0x10611478
call fcn.10015a5f
jmp 0x1004d286
mov dword [ebp - 4], esi
dec dword [ebp - 0x1c]
jmp 0x1004d1d7
dec dword [ebp - 0x20]
jmp 0x1004d1c8
inc dword [ebp - 0x14]
jmp 0x1004d1b8
inc dword [ebp - 0x24]
jmp 0x1004d0d8
inc dword [ebp - 0x30]
jmp 0x1004d0c4
mov eax, dword [0x106126a0]
test al, 1
jne 0x1004d347
or eax, edi
mov dword [0x106126a0], eax
push ebx
mov dword [ebp - 4], 2
push ebx
mov dword [0x10612660], ebx
mov dword [0x10612664], ebx
call fcn.1001595f
mov dword [0x10612660], eax
mov dword [0x10612668], ebx
mov dword [0x10612670], ebx
mov byte [ebp - 4], 4
mov ecx, 0x10612668
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0xe8]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x1ec]
mov dword [0x1061267c], 0x3f800000
push eax
mov dword [0x1061266c], ebx
call fcn.10015737
push 0x10068b44
mov dword [0x10612674], 7
mov dword [0x10612678], 8
call fcn.100520b5
pop ecx
mov dword [ebp - 4], esi
mov dword [ebp - 0x14], 0xa41449c9
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x2c], 0x93876a47
push 4
call fcn.10013363
push 0xfffffffffffffff8
pop edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x44], 0x663c10b4
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x1c], ebx
jmp 0x1004d386
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1b4]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1004d377
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004d39b
call dword [sym.imp.USER32.dll_EndMenu]
cmp dword [ebp - 0x14], ebx
je 0x1004d3fd
mov eax, dword [ebp - 0x14]
mov ecx, edi
sub ecx, eax
mov eax, dword [ebp - 0x1b4]
mov dword [eax], ecx
cmp dword [eax + 0xc], ebx
jne 0x1004d3ba
test ecx, ecx
mov ecx, ebx
je 0x1004d3bc
mov ecx, edi
mov eax, dword [ebp - 0x14]
mov edx, edi
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
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 eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
dec eax
neg eax
sbb eax, eax
neg eax
sub eax, 6
jne 0x1004d3ff
mov edx, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x1b4]
mov eax, dword [ebp - 0x44]
add eax, eax
sub eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], eax
call fcn.100133e5
imul eax, dword [ebp - 0x60], 0x2710
lea ecx, [ebp - 0x1e4]
push 3
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x7c], eax
call fcn.10013363
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x1c], ebx
jmp 0x1004d45a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1e4]
mov dword [eax + ecx*4], 0x540d7f82
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1004d447
mov dword [ebp - 0x1c], ebx
jmp 0x1004d48d
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004d475
push ebx
call dword [sym.imp.KERNEL32.dll_EncodePointer]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004d48a
push 0x18e7
push ebx
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x1004d465
lea ecx, [ebp - 0x1e4]
call fcn.100133e5
lea eax, [ebp - 0x7c]
push eax
call fcn.1004f242
mov eax, dword [eax]
mov dword [ebp - 0x14], 0x24a8c6a5
mov dword [ebp - 0x2c], 0x198d72a6
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x40], 8
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], 0x17
jmp 0x1004d574
mov dword [ebp - 0x1c], 0xa137
xor edx, edx
mov dword [ebp - 0x20], 0x2a1836cc
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 8
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
inc ecx
neg ecx
mov dword [ebp - 0x40], ecx
xor ecx, ecx
cmp eax, dword [ebp - 0x40]
setge cl
xor eax, eax
cmp ecx, 0x1edb6b7b
setg al
cmp eax, 0x3d47
jle 0x1004d53f
mov edx, edi
cmp dword [ebp - 0x2c], ebx
jne 0x1004d541
mov edx, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setne dl
xor ecx, ecx
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp edx, eax
setne cl
mov dword [ebp - 0x40], ecx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffea
jl 0x1004d4d0
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004d593
push ebx
push 0x6e8
call dword [sym.imp.USER32.dll_EndPaint]
cmp dword [ebp - 0x44], 0
je 0x1004d9d2
push 4
lea ecx, [ebp - 0x16c]
call fcn.10013363
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x1c], ebx
jmp 0x1004d5c5
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x16c]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1004d5b2
mov dword [ebp - 0x1c], ebx
jmp 0x1004d5e1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x16c]
cmp dword [eax + ecx*4], ebx
jne 0x1004d5e7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x1004d5d0
lea ecx, [ebp - 0x16c]
call fcn.100133e5
mov dword [ebp - 0x20], 0x6410
cmp dword [ebp - 0x20], 0x64f3
jle 0x1004d66d
mov dword [ebp - 0x1c], ebx
mov eax, ebx
mov dword [ebp - 0x3c], 0x72bc
mov dword [ebp - 0x2c], eax
mov esi, eax
mov dword [ebp - 0x28], 0x590b
mov eax, esi
lea ecx, [ebp - 0x29c]
cdq
push edx
push eax
call fcn.1000de7e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004d634
mov eax, dword [eax]
push eax
call fcn.100520df
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x29c]
call fcn.100138e3
inc esi
dec dword [ebp - 0x28]
jne 0x1004d61a
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
add eax, esi
dec dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
jne 0x1004d611
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x405f
jl 0x1004d605
or esi, 0xffffffff
cmp dword [ebp - 0x20], 0x62f0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xdc], eax
jge 0x1004d68a
push 0x1000c618
call fcn.100520df
pop ecx
push 3
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], esi
call fcn.10013363
mov dword [ebp - 4], 7
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], 0xa6b2c4eb
mov dword [ebp - 0x34], 0x81c3
mov dword [ebp - 0x1c], ebx
jmp 0x1004d6c7
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6c]
mov dword [eax + ecx*4], 0xa75c96dd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1004d6b7
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x1004d79f
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], 0xb5f7a0d7
mov dword [ebp - 0x4c], 7
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov edx, 0xcd833989
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6c]
cmp edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x14]
sbb edi, edi
mov ecx, dword [ebp - 0x6c]
neg edi
sbb edi, edi
xor edx, edx
neg edi
cmp edi, dword [ecx + eax*4]
sete dl
xor eax, eax
neg edx
cmp edx, dword [ecx + esi*4]
setge al
xor edx, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x6c]
cmp dword [esi + eax*4], 0xb
mov eax, dword [ebp - 0x44]
setg dl
xor ecx, ecx
cmp edx, dword [eax + 4]
setne cl
xor eax, eax
cmp ecx, dword [esi + edi*4]
setne al
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jne 0x1004d76a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x44]
add ecx, dword [eax + 8]
mov eax, dword [ebp - 0x14]
add eax, ecx
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x4c], eax
dec dword [ebp - 0x14]
jns 0x1004d6e3
xor edi, edi
inc edi
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 2
jg 0x1004d9c5
mov dword [ebp - 0x3c], 0xde89c674
mov dword [ebp - 0x30], 0x2923
mov dword [ebp - 0x24], 2
cmp dword [ebp - 0x24], ebx
jl 0x1004d9a4
mov dword [ebp - 0x1c], 0xb108f980
mov dword [ebp - 0x1c], ebx
jmp 0x1004d7e7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x22c], 0x5d3cc114
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1004d7d6
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x1004d96d
push edi
lea ecx, [ebp - 0x184]
call fcn.10013363
mov byte [ebp - 4], 8
mov dword [ebp - 0x44], 0x4f28
cmp dword [ebp - 0x44], 0x52bf
jle 0x1004d897
mov dword [ebp - 0x28], ebx
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov eax, esi
cdq
idiv dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
add eax, ecx
lea ecx, [ebp - 0x254]
xor eax, edx
cdq
push edx
push eax
call fcn.1000de7e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004d84f
mov eax, dword [eax]
push eax
call fcn.100520df
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x254]
call fcn.100138e3
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x5eb3
jl 0x1004d82a
inc esi
cmp esi, 0x4fce
jl 0x1004d827
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0xd80
jl 0x1004d825
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x4d41
jl 0x1004d820
mov dword [ebp - 0x4c], 0x9ba600ac
cmp dword [ebp - 0x44], 0x4d86
jge 0x1004d8b2
push 0x1000c660
call fcn.100520df
pop ecx
mov dword [ebp - 4], 8
mov dword [ebp - 0x1c], ebx
jmp 0x1004d8d1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x184]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1004d8be
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004d8e5
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x228]
cmp dword [ebp - 0x1c], eax
jg 0x1004d916
mov esi, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, 0xdc1b
mov eax, dword [ebp - 0x6c]
setl dl
xor ecx, ecx
cmp edx, dword [eax + esi*4]
setl cl
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], ebx
jne 0x1004d91e
mov dword [ebp - 0x44], ebx
cmp dword [ebp - 0x3c], ebx
je 0x1004d921
mov dword [ebp - 0x44], edi
mov eax, dword [ebp - 0x184]
xor ecx, ecx
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x44], 0x95cc9e52
mov dword [eax], 0x95cc9e52
mov eax, dword [ebp - 0x6c]
setle cl
push 0
cmp dword [eax + edx*4], ecx
pop ecx
setg cl
sub ecx, dword [eax + esi*4]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 7
call fcn.100133e5
dec dword [ebp - 0x14]
jmp 0x1004d7f4
mov esi, dword [ebp - 0x24]
xor ecx, ecx
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x30]
cmp dword [edx + esi*4], eax
setle cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x14], 0x27bc
jl 0x1004d993
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], ebx
dec dword [ebp - 0x24]
jmp 0x1004d7c1
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
neg eax
jne 0x1004d9b8
mov eax, ebx
cmp dword [ebp - 0x20], ebx
je 0x1004d9ba
mov eax, edi
mov dword [ebp - 0x14], eax
inc dword [ebp - 0x20]
jmp 0x1004d7a2
lea ecx, [ebp - 0x6c]
call fcn.100133e5
jmp 0x1004f1ae
push 2
lea ecx, [ebp - 0x19c]
call fcn.10013363
mov dword [ebp - 0x1c], ebx
jmp 0x1004d9f7
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x19c]
mov dword [eax + ecx*4], 0x256
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1004d9e4
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004da11
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetThreadTimes]
mov eax, dword [ebp - 0x19c]
lea ecx, [ebp - 0x19c]
mov dword [eax + 4], 0xfffffff6
call fcn.100133e5
mov eax, dword [0x106126a0]
test al, 2
jne 0x1004dac0
or eax, 2
mov dword [0x106126a0], eax
push ebx
mov dword [ebp - 4], 0xb
push ebx
mov dword [0x10612680], ebx
mov dword [0x10612684], ebx
call fcn.1001595f
mov dword [0x10612680], eax
mov dword [0x10612688], ebx
mov dword [0x10612690], ebx
mov byte [ebp - 4], 0xd
mov ecx, 0x10612688
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0xf8]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x1e8]
mov dword [0x1061269c], 0x3f800000
push eax
mov dword [0x1061268c], ebx
call fcn.10015737
push 0x10068b3f
mov dword [0x10612694], 7
mov dword [0x10612698], 8
call fcn.100520b5
pop ecx
mov dword [ebp - 4], esi
mov dword [ebp - 0x24], ebx
xor ecx, ecx
mov dword [ebp - 0x14], edi
push 8
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x3c], 0x37f1
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x50], 0x65522591
mov dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x24]
test eax, eax
setns cl
add ecx, 0x17be
jne 0x1004db07
mov eax, ebx
cmp dword [ebp - 0x24], ebx
je 0x1004db09
mov eax, edi
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
add ecx, eax
mov eax, dword [ebp - 0x24]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0x5498
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jne 0x1004db47
cmp dword [ebp - 0x30], ebx
jne 0x1004db47
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], edi
cmp dword [ebp - 0x2c], ebx
je 0x1004db5e
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp eax, 0x94592404
setne cl
neg ecx
sub ecx, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0x172
jl 0x1004db84
mov eax, edi
cmp dword [ebp - 0x20], ebx
jne 0x1004db86
mov eax, ebx
imul eax, eax, 0xab0c
test eax, eax
jne 0x1004db97
mov esi, ebx
cmp dword [ebp - 0x3c], ebx
je 0x1004db99
mov esi, edi
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setne dl
cmp edx, esi
jne 0x1004dca8
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], 0x34
jl 0x1004e01b
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004dbd5
push 0x1ab0
push ebx
push 0xe8
call dword [sym.imp.USER32.dll_GetClassNameW]
mov dword [ebp - 0x1c], 0x4415
cmp dword [ebp - 0x1c], 0x4522
jle 0x1004dc6e
mov ecx, ebx
mov dword [ebp - 0x3c], ebx
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov esi, ebx
mov dword [ebp - 0x2c], ebx
add eax, ecx
mov dword [ebp - 0x40], ebx
mov ecx, esi
mov esi, ebx
sar eax, cl
mov dword [ebp - 0x38], eax
mov ecx, esi
shl eax, cl
lea ecx, [ebp - 0x26c]
cdq
push edx
push eax
call fcn.1000de7e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004dc22
mov eax, dword [eax]
push eax
call fcn.100520df
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x26c]
call fcn.100138e3
mov eax, dword [ebp - 0x38]
inc esi
cmp esi, 0x6f28
jl 0x1004dc06
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
inc esi
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], esi
cmp esi, 0x526d
jl 0x1004dbf8
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x23b
jl 0x1004dbf3
inc ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x783a
jl 0x1004dbee
mov byte [ebp - 0x15], bl
cmp dword [ebp - 0x1c], 0x404e
jge 0x1004dc85
push 0x1000c6b8
call fcn.100520df
pop ecx
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x15], 0
je 0x1004dca0
push 0x975
push edi
push 0x19a1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
inc dword [ebp - 0x24]
jmp 0x1004dbb1
mov dword [ebp - 0x38], 0xd0c6
lea ecx, [ebp - 0x104]
push 3
call fcn.10013363
mov dword [ebp - 4], 0x10
lea eax, [ebp - 0x1ec]
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000ca10]
lea ecx, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x58], 6
push eax
push ebx
movdqu xmmword [ebp - 0x1fc], xmm0
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
call fcn.1001646e
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x14], ebx
jmp 0x1004dd20
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x48], 0xe33a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1004dd12
mov dword [ebp - 0x14], ebx
jmp 0x1004dd3d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x104]
mov dword [eax + ecx*4], 0xb5841ec3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004dd2a
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jg 0x1004e001
mov dword [ebp - 0x54], 0x285618a3
mov dword [ebp - 0x24], 0x4184
cmp dword [ebp - 0x24], 0x4263
jle 0x1004ddef
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov esi, ebx
mov dword [ebp - 0x3c], ebx
mov eax, edi
mov dword [ebp - 0x40], ebx
cdq
idiv esi
mov dword [ebp - 0x28], 0x2930
mov esi, ebx
mov dword [ebp - 0x54], edx
mov edi, ebx
mov eax, esi
mov ecx, 0x10611478
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.10013138
inc edi
cmp edi, 0x5d5c
jl 0x1004dd98
add esi, dword [ebp - 0x54]
dec dword [ebp - 0x28]
jne 0x1004dd96
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x3c], esi
cmp esi, 0x185
jl 0x1004dd82
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x2d45
jl 0x1004dd7d
push 0x24cb
push 0x1e62
push ebx
call dword [sym.imp.USER32.dll_EnableMenuItem]
xor edi, edi
inc edi
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x24], 0x3db4
jge 0x1004de2c
mov edx, 0x1000c71c
mov ecx, 0x10611478
call fcn.10015a5f
jmp 0x1004de2c
mov dword [ebp - 4], 0x11
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x104]
mov dword [eax], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x48]
xor eax, eax
add ecx, dword [ebp - 0x58]
neg ecx
cmp ecx, 0x2f0819d5
setne al
xor ecx, ecx
lea edx, [eax - 0xb115]
mov eax, dword [ebp - 0xa4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
cmp eax, edx
mov eax, dword [ebp - 0x50]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x48]
cmp edx, eax
setne cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x48], ebx
je 0x1004dfe5
mov dword [ebp - 0x40], 5
mov dword [ebp - 0x24], 0x7920
cmp dword [ebp - 0x24], 0x799c
jle 0x1004df54
mov dword [ebp - 0x28], ebx
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov esi, ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x54], ebx
mov ecx, esi
mov esi, dword [ebp - 0x28]
mov ebx, edi
mov edi, dword [ebp - 0x54]
sar ebx, cl
mov eax, edi
mov ecx, 0x10611478
or eax, esi
or eax, ebx
cdq
push edx
push eax
call fcn.10013138
inc edi
cmp edi, 0x5c1
jl 0x1004def9
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x3c], esi
push 0
pop ebx
cmp esi, 0x659
jl 0x1004deea
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0xc92
jl 0x1004dee5
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x4fe4
jl 0x1004dee0
push ebx
push 0x1828
push ebx
call dword [sym.imp.GDI32.dll_GetEnhMetaFileHeader]
xor edi, edi
inc edi
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x24], 0x75f6
jge 0x1004df97
mov edx, 0x1000c768
mov ecx, 0x10611478
call fcn.10015a5f
jmp 0x1004df97
mov dword [ebp - 4], 0x11
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0xa4]
mov ecx, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x30]
imul eax, dword [edx + 8]
xor edx, edx
cmp eax, ecx
setl dl
xor eax, eax
cmp edx, edi
setle al
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x34]
cmp eax, 0xb5db
mov eax, dword [ebp - 0x104]
setge cl
xor edx, edx
cmp ecx, dword [ebp - 0x54]
setg dl
mov dword [eax], edx
jmp 0x1004dff9
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004dff9
push 0xcf
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
inc dword [ebp - 0x14]
jmp 0x1004dd58
lea ecx, [ebp - 0xa4]
call fcn.100133e5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x104]
call fcn.100133e5
xorps xmm0, xmm0
movdqu xmmword [ebp - 0xc0], xmm0
mov dword [ebp - 0x14], 0x4801
mov dword [ebp - 0x38], 0x6e74a6e8
dec dword [ebp - 0x14]
mov dword [ebp - 0x14], 0xffffffea
jmp 0x1004e185
mov dword [ebp - 0x30], 0x2edc7555
mov dword [ebp - 0x24], 0x283bc1b0
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x1004e06e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x120], 0xfffffffa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1004e05d
mov dword [ebp - 0x30], 0x19
jmp 0x1004e178
mov dword [ebp - 0x2c], 0xba75a592
mov dword [ebp - 0x28], 0xb5009892
cmp dword [ebp - 0x14], ebx
jne 0x1004e09a
mov esi, ebx
cmp dword [ebp - 0x2c], ebx
je 0x1004e09c
mov esi, edi
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, 0xcf04
mov eax, dword [ebp - 0x30]
setle cl
xor edx, edx
cmp ecx, 0x6fe5
setge dl
imul eax, esi
add edx, eax
mov eax, dword [ebp - 0x118]
neg edx
sbb edx, edx
inc edx
cmp edx, 2
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
cmp ecx, 0xffffffff
jbe 0x1004e0e0
mov eax, ebx
cmp dword [ebp - 0x2c], ebx
je 0x1004e0e2
mov eax, edi
mov dword [ebp - 0x24], eax
xor edx, edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
setne dl
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x24], 3
cmp dword [ebp - 0x24], ebx
jl 0x1004e175
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x120]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setl cl
sub ecx, dword [ebp + eax*4 - 0x120]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], ecx
xor ecx, ecx
cmp dword [ebp - 0x34], 0x12b9
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
add edx, dword [ebp + eax*4 - 0x120]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x120]
cmp eax, edx
setl cl
xor eax, eax
cmp ecx, edi
setl al
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x24]
jns 0x1004e107
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffe2
jg 0x1004e080
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x2f
jle 0x1004e043
lea eax, [ebp - 0x60]
push eax
call fcn.1004f2a4
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x20], ebx
jmp 0x1004e1b6
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x130], 0xc93b4e1
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1004e1a5
mov dword [ebp - 0x128], 8
cmp dword [ebp - 0x128], edi
jl 0x1004e1f0
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004e1df
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
dec dword [ebp - 0x128]
cmp dword [ebp - 0x128], edi
jge 0x1004e1ce
mov ecx, dword [ebp - 0x1c]
mov al, byte [ebp + 0xc]
test al, al
jne 0x1004e1ff
test ecx, ecx
jne 0x1004e78f
lea ecx, [ebp - 0x2dc]
mov dl, al
push ecx
mov ecx, dword [ebp - 0x60]
call fcn.1004123f
mov esi, eax
lea edi, [ebp - 0xc0]
pop ecx
push 4
lea ecx, [ebp - 0x13c]
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 - 0x14], 0xa41449c9
mov dword [ebp - 0x28], 0x93876a47
call fcn.10013363
mov dword [ebp - 0x2c], 0xfffffff8
xor edi, edi
mov dword [ebp - 0x38], 0x663c10b4
inc edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x20], ebx
jmp 0x1004e264
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x13c]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1004e251
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004e279
call dword [sym.imp.USER32.dll_EndMenu]
cmp dword [ebp - 0x14], ebx
je 0x1004e2db
mov eax, dword [ebp - 0x14]
mov ecx, edi
sub ecx, eax
mov eax, dword [ebp - 0x13c]
mov dword [eax], ecx
cmp dword [eax + 0xc], ebx
jne 0x1004e298
test ecx, ecx
mov ecx, ebx
je 0x1004e29a
mov ecx, edi
mov eax, dword [ebp - 0x14]
mov edx, edi
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
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 eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
dec eax
neg eax
sbb eax, eax
neg eax
sub eax, 6
jne 0x1004e2dd
mov edx, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x13c]
mov eax, dword [ebp - 0x38]
add eax, eax
sub eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
call fcn.100133e5
cmp byte [ebp + 0xc], 0
je 0x1004e78f
cmp dword [ebp - 0xb8], 0
je 0x1004e78f
mov dword [ebp - 0x24], 0x5c68ec0a
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x20], edi
or esi, 0xffffffff
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x2c], 0xfffffffd
mov dword [ebp - 0x3c], esi
push edi
call fcn.10013363
mov dword [ebp - 4], 0x16
mov dword [ebp - 0x34], 0xd6b9ec49
mov dword [ebp - 0x28], 0x38d7
mov dword [ebp - 0x14], ebx
jmp 0x1004e364
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x78], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1004e35a
mov dword [ebp - 0x14], ebx
jmp 0x1004e380
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x23c], 0x2499e68f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1004e36f
mov dword [ebp - 0x14], ebx
jmp 0x1004e39a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c0]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1004e38b
mov dword [ebp - 0x24], 0xffffffef
jmp 0x1004e444
mov dword [ebp - 0x2c], esi
lea ecx, [ebp - 0x1a8]
push 2
call fcn.10013363
mov dword [ebp - 0x30], ebx
jmp 0x1004e3cf
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1a8]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jl 0x1004e3c0
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x74]
cmp ecx, eax
mov esi, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x74]
sete dl
inc edx
neg edx
mov dword [esi + 4], ecx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0xddd9cd4
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
mov ecx, 0xffff7b65
setle dl
sub ecx, edx
add eax, ecx
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x78]
mov eax, dword [esi + 4]
mov dword [ebp - 0x2c], eax
call fcn.100133e5
dec dword [ebp - 0x24]
push 0xffffffffffffffff
pop esi
cmp dword [ebp - 0x24], 0xffffffe5
jge 0x1004e3ab
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x28]
cmp eax, ecx
jne 0x1004e525
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004e5c4
mov dword [ebp - 0x2c], 0x6630
cmp dword [ebp - 0x2c], 0x69ed
jle 0x1004e4cf
mov dword [ebp - 0x28], ebx
mov edi, ebx
mov dword [ebp - 0x38], 0x5c21
mov esi, ebx
mov eax, edi
mov ecx, 0x10611478
and eax, esi
cdq
push edx
push eax
call fcn.10013138
inc esi
cmp esi, 0x105c
jl 0x1004e49c
mov esi, dword [ebp - 0x28]
add edi, esi
dec dword [ebp - 0x38]
jne 0x1004e49a
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x6ddd
jl 0x1004e491
xor edi, edi
inc edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x2c], 0x65a4
jge 0x1004e5c4
mov edx, 0x1000c7a8
mov ecx, 0x10611478
call fcn.10015a5f
jmp 0x1004e5c4
mov dword [ebp - 0x38], 0xa623b0d7
mov dword [ebp - 0x34], 3
mov dword [ebp - 0x20], ebx
jmp 0x1004e5bb
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x28], 0x2b33
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x30], 0xdfa8
mov eax, dword [ebp - 0x23c]
cmp eax, dword [ebp - 0x30]
je 0x1004e56b
mov ecx, ebx
cmp dword [ebp - 0x30], ebx
je 0x1004e56d
mov ecx, edi
mov eax, dword [ebp - 0x38]
sub ecx, eax
je 0x1004e577
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x30]
cmp eax, 0x7345
mov eax, dword [ebp - 0x38]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], ebx
jl 0x1004e5b8
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004e5b3
push 0x2076
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
dec dword [ebp - 0x30]
jns 0x1004e59c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jle 0x1004e53b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c0]
call fcn.100133e5
mov eax, dword [ebp - 0xb4]
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x2c], 0x3717be9f
push 3
mov dword [ebp - 0xd8], eax
call fcn.10013363
mov dword [ebp - 4], 0x19
mov dword [ebp - 0x50], 0x3f9150fa
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x3c], 0xbc6
cmp dword [ebp - 0x3c], 0xe55
jle 0x1004e6a7
push ebx
call dword [sym.imp.USER32.dll_IsRectEmpty]
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov dword [ebp - 0x38], ebx
mov ecx, esi
mov edx, ebx
shl eax, cl
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x34], eax
mov esi, ebx
mov eax, edx
cdq
idiv esi
mov eax, dword [ebp - 0x34]
mov ecx, edx
sar eax, cl
lea ecx, [ebp - 0x284]
cdq
push edx
push eax
call fcn.1000de7e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004e65e
mov eax, dword [eax]
push eax
call fcn.100520df
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x284]
call fcn.100138e3
mov edx, dword [ebp - 0x28]
inc esi
cmp esi, 0x840
jl 0x1004e63a
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 0x7882
jl 0x1004e638
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x38], esi
cmp esi, 0x21ec
jl 0x1004e62c
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x7335
jl 0x1004e627
cmp dword [ebp - 0x3c], 0x7e4
jge 0x1004e6bb
push 0x1000c82c
call fcn.100520df
pop ecx
mov dword [ebp - 0x14], ebx
jmp 0x1004e6d1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x98], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004e6c0
mov dword [ebp - 0x14], ebx
jmp 0x1004e6eb
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x160]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004e6dc
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004e710
push ebx
push 0x248f
push 0x1a6c
push 0x1921
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
je 0x1004e734
mov eax, dword [ebp - 0x94]
mov edx, ebx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jne 0x1004e736
mov edx, edi
mov eax, dword [ebp - 0x94]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp edx, eax
mov eax, dword [ebp - 0x160]
sete cl
mov dword [eax + 8], ecx
test ecx, ecx
je 0x1004e75c
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x58]
imul ecx, eax
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x160]
or dword [ebp - 4], 0xffffffff
call fcn.100133e5
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x14], 0x24a8c6a5
mov dword [ebp - 0x28], 0x198d72a6
mov dword [ebp - 0x30], 0x6dd3
cmp dword [ebp - 0x30], 0x6deb
jle 0x1004e831
mov dword [ebp - 0x20], ebx
mov ecx, ebx
mov dword [ebp - 0x3c], 0x47be
mov dword [ebp - 0x28], ecx
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov eax, ecx
mov dword [ebp - 0x38], 0x621e
cdq
idiv esi
mov esi, edx
mov eax, esi
lea ecx, [ebp - 0x2cc]
cdq
push edx
push eax
call fcn.1000de7e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004e7ed
mov eax, dword [eax]
push eax
call fcn.100520df
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2cc]
call fcn.100138e3
dec esi
dec dword [ebp - 0x38]
jne 0x1004e7d3
mov esi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x661a
jl 0x1004e7c5
mov eax, dword [ebp - 0x20]
add ecx, eax
dec dword [ebp - 0x3c]
mov dword [ebp - 0x28], ecx
jne 0x1004e7c0
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x6a45
jl 0x1004e7b4
mov dword [ebp - 0x38], edi
cmp dword [ebp - 0x30], 0x6a1d
jge 0x1004e848
push 0x1000c854
call fcn.100520df
pop ecx
or esi, 0xffffffff
mov dword [ebp - 4], esi
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x14], 0x17
jmp 0x1004e905
mov dword [ebp - 0x2c], 0xa137
xor edx, edx
mov dword [ebp - 0x3c], 0x2a1836cc
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], 8
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
neg ecx
sbb ecx, ecx
inc ecx
neg ecx
mov dword [ebp - 0x34], ecx
xor ecx, ecx
cmp eax, dword [ebp - 0x34]
setge cl
xor eax, eax
cmp ecx, 0x1edb6b7b
setg al
cmp eax, 0x3d47
jle 0x1004e8d0
mov edx, edi
cmp dword [ebp - 0x28], ebx
jne 0x1004e8d2
mov edx, ebx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setne dl
xor ecx, ecx
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp edx, eax
setne cl
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffea
jl 0x1004e861
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004e924
push ebx
push 0x6e8
call dword [sym.imp.USER32.dll_EndPaint]
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x1004efce
cmp dword [ebp - 0xc0], ecx
jle 0x1004efce
push 3
lea ecx, [ebp - 0x190]
call fcn.10013363
mov dword [ebp - 4], 0x1e
mov dword [ebp - 0x2c], 0x5566
cmp dword [ebp - 0x2c], 0x5788
jle 0x1004e9a6
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov edi, esi
mov dword [ebp - 0x38], 0x303f
mov esi, ebx
mov ecx, esi
mov eax, edi
sar eax, cl
mov ecx, 0x10611478
cdq
push edx
push eax
call fcn.10013138
inc esi
cmp esi, 0x68e9
jl 0x1004e96f
dec edi
dec dword [ebp - 0x38]
jne 0x1004e96d
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x1eb8
jl 0x1004e964
xor edi, edi
inc edi
or esi, 0xffffffff
mov dword [ebp - 0x20], edi
mov byte [ebp - 4], 0x1f
cmp dword [ebp - 0x2c], 0x534a
jge 0x1004e9ef
mov edx, 0x1000c888
mov ecx, 0x10611478
call fcn.10015a5f
jmp 0x1004e9ef
push 4
lea ecx, [ebp - 0x1cc]
mov dword [ebp - 4], 0x1e
call fcn.10013363
mov dword [ebp - 0x40], 0xa01c77dc
mov dword [ebp - 0x14], ebx
jmp 0x1004ea22
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x190]
mov dword [eax + ecx*4], 0x3342eb90
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004ea0f
mov dword [ebp - 0x14], ebx
jmp 0x1004ea40
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1cc]
mov dword [eax + ecx*4], 0x66b1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1004ea2d
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jl 0x1004ea6a
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x190]
cmp dword [eax + ecx*4], ebx
jne 0x1004ea6a
cmp dword [ebp - 0x20], ebx
jne 0x1004ea6a
dec dword [ebp - 0x20]
jns 0x1004ea52
dec dword [ebp - 0x40]
lea ecx, [ebp - 0x1cc]
call fcn.100133e5
lea ecx, [ebp - 0x190]
mov dword [ebp - 4], esi
call fcn.100133e5
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x14], 0xadae8c9f
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], 0x1d52aa0a
mov dword [ebp - 0x38], 0xc2541761
mov dword [ebp - 0x34], 0xfffffffc
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x20], ebx
jmp 0x1004eac1
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x70], 0x53b
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1004eab3
xor edx, edx
mov dword [ebp - 0x20], 0x1d8987f2
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 0xbc56
mov edx, dword [ebp - 0x14]
setl al
xor ecx, ecx
cmp eax, esi
mov eax, dword [ebp - 0x14]
setl cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setne dl
xor eax, eax
cmp edx, dword [ebp - 0x34]
setg al
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x34], eax
setge cl
imul ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x1004eca2
mov dword [ebp - 0x40], 0xe426067
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x28], 3
push 2
call fcn.10013363
push 2
mov dword [ebp - 4], 0x21
mov dword [ebp - 0x20], ebx
pop edx
jmp 0x1004eb71
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x178]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1004eb62
mov eax, dword [ebp - 0x24]
dec eax
je 0x1004ebbb
mov dword [ebp - 0x24], 7
jmp 0x1004ebb0
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004eb98
push edi
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004ebad
push 0xa3d
push ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffffc
jne 0x1004eb85
jmp 0x1004ec92
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000c990]
lea eax, [ebp - 0x1fc]
push eax
lea eax, [ebp - 0x20c]
mov dword [ebp - 0xb0], ebx
push eax
push ebx
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xac], ebx
movdqu xmmword [ebp - 0x20c], xmm0
mov dword [ebp - 0xa8], ebx
call fcn.1001646e
mov dword [ebp - 0x34], 0x855bbb78
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, ebx
cmp dword [ebp - 0x40], ebx
je 0x1004ec19
mov eax, edi
mov esi, dword [ebp - 0xb0]
xor edx, edx
add eax, dword [esi + 4]
cmp eax, dword [esi + 4]
setl dl
cmp edx, 4
sbb eax, eax
xor ecx, ecx
neg eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, dword [esi + 4]
mov eax, dword [ebp - 0x178]
setg cl
mov dword [eax], ecx
cmp ecx, edi
jge 0x1004ec52
mov edx, ebx
cmp dword [esi + 4], ebx
je 0x1004ec54
mov edx, edi
mov eax, dword [ebp - 0xb0]
xor ecx, ecx
cmp edx, dword [eax + 8]
setle cl
xor edx, edx
cmp ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x70]
setne dl
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x34], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp eax, edi
setge cl
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0xb0]
call fcn.100133e5
or esi, 0xffffffff
lea ecx, [ebp - 0x178]
mov dword [ebp - 4], esi
call fcn.100133e5
jmp 0x1004ecff
mov dword [ebp - 0x40], 4
cmp dword [ebp - 0x38], ebx
je 0x1004ecd3
cmp dword [ebp - 0x40], ebx
je 0x1004ecc0
mov eax, dword [ebp - 0x14]
mov edx, edi
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jne 0x1004ecc2
mov edx, ebx
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp eax, edx
mov eax, ebx
setl cl
cmp dword [ebp - 0x70], ecx
jl 0x1004ecd5
mov eax, edi
mov ecx, 0xfffa
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0xa13e
setg cl
neg ecx
mov dword [ebp - 0x24], ecx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004ecff
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp dword [ebp - 0xbc], 0
je 0x1004efce
mov dword [ebp - 0x14], 0xfffffffc
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x2c], 0x3ac25417
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x50], 0xf9132f4b
push 2
call fcn.10013363
mov dword [ebp - 4], 0x22
mov dword [ebp - 0x50], 0xfffffff9
mov dword [ebp - 0x1c], ebx
jmp 0x1004ed61
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1d8]
mov dword [eax + ecx*4], 0x3245e346
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1004ed4e
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
mov dword [ebp - 0x2c], ecx
mov ecx, ebx
cmp dword [ebp - 0x2c], ebx
je 0x1004eda0
mov ecx, edi
mov eax, dword [ebp - 0x14]
xor edx, edx
sub ecx, eax
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
add eax, 0xffff0001
add eax, ecx
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
cmp edx, dword [ebp - 0x14]
jne 0x1004edce
mov edx, ebx
cmp dword [ebp - 0x14], ebx
je 0x1004edd0
mov edx, edi
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp ecx, edi
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x5a27
setne al
add eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jge 0x1004ee05
mov ecx, edi
cmp dword [ebp - 0x14], ebx
jne 0x1004ee07
mov ecx, ebx
mov eax, dword [ebp - 0x14]
add eax, ecx
xor ecx, ecx
cmp eax, 0x8296
mov eax, dword [ebp - 0x14]
setg cl
xor edx, edx
cmp ecx, 0x117a
setle dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp ecx, eax
setg dl
add edx, 0x6f73253d
imul edx, dword [ebp - 0x34]
imul edx, dword [ebp - 0x14]
test edx, edx
jne 0x1004ee4e
mov edx, ebx
cmp dword [ebp - 0x2c], ebx
je 0x1004ee50
mov edx, edi
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], 0xffffffe4
cmp dword [ebp - 0x20], 0xfffffff1
jge 0x1004ef5e
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x34], 0xe0855bbb
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], 0x27be6278
mov dword [ebp - 0x38], 0x7bcc
cmp dword [ebp - 0x38], 0x7bf4
jle 0x1004ef10
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov esi, ebx
mov dword [ebp - 0x40], ebx
cdq
idiv esi
mov dword [ebp - 0x34], ebx
mov esi, ebx
mov eax, edx
mov dword [ebp - 0x50], eax
xor eax, esi
lea ecx, [ebp - 0x2b4]
cdq
push edx
push eax
call fcn.1000de7e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004eed0
mov eax, dword [eax]
push eax
call fcn.100520df
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2b4]
call fcn.100138e3
mov eax, dword [ebp - 0x50]
inc esi
cmp esi, 0x453e
jl 0x1004eeb6
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x40], esi
cmp esi, 0x21bd
jl 0x1004eea9
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x15c5
jl 0x1004eea4
or esi, 0xffffffff
mov dword [ebp - 0x34], 0xfffffffc
cmp dword [ebp - 0x38], 0x79c1
jge 0x1004ef2b
push 0x1000c914
call fcn.100520df
pop ecx
mov dword [ebp - 4], 0x22
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x1c], ebx
jmp 0x1004ef4e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe0], 0x29add925
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1004ef3d
inc dword [ebp - 0x40]
inc dword [ebp - 0x20]
jmp 0x1004ee64
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 4], esi
call fcn.100133e5
mov ecx, dword [ebp - 0x58]
call fcn.1004cebd
push edi
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x1c], eax
call fcn.10013363
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], 0x9d982735
mov dword [ebp - 0x20], ebx
jmp 0x1004efa5
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x148]
mov dword [eax + ecx*4], 0x1713b910
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1004ef92
mov eax, dword [ebp - 0x148]
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], esi
mov dword [eax], ebx
call fcn.100133e5
lea eax, [ebp - 0x60]
push eax
call fcn.1004f2a4
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
lea ecx, [ebp - 0xc0]
call fcn.10048691
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], ebx
jmp 0x1004eff2
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x8c], 0x4a53aa9a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1004efe1
mov dword [ebp - 0x14], 0x61928c17
mov dword [ebp - 0x14], ebx
jmp 0x1004f116
mov dword [ebp - 0x28], 0xa05d
lea ecx, [ebp - 0x154]
push 3
call fcn.10013363
mov dword [ebp - 0x24], ebx
jmp 0x1004f031
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xe4], 0x6711db60
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1004f020
mov dword [ebp - 0x24], ebx
jmp 0x1004f04e
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x154]
mov dword [eax + ecx*4], 0xf30385d
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x1004f03b
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x88]
add eax, ecx
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x8c]
add ecx, eax
neg ecx
sbb ecx, ecx
neg esi
neg ecx
sub esi, ecx
neg esi
sbb esi, esi
xor edx, edx
inc esi
mov dword [ebp - 0xe4], esi
mov eax, dword [ebp - 0x88]
cmp esi, eax
mov eax, dword [ebp - 0x28]
setg dl
xor ecx, ecx
cmp edx, eax
sete cl
or eax, 0xffffffff
sub ecx, 0xa9d8
cmp eax, ecx
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x28]
neg eax
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x14]
je 0x1004f0c3
mov ecx, ebx
cmp dword [ebp - 0x14], ebx
je 0x1004f0c5
mov ecx, edi
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x8c]
imul eax, ecx
test eax, eax
jne 0x1004f0dc
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x154]
mov dword [eax], ecx
lea ecx, [ebp - 0x154]
call fcn.100133e5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x1004f007
cmp dword [ebp - 0x44], 0
jne 0x1004f1ae
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x1004f1ae
mov edx, dword [ebp - 0x4c]
mov ecx, eax
call fcn.1004cfb1
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000c980]
lea ecx, [ebp - 0xf4]
mov esi, eax
mov dword [ebp - 0xf4], ebx
lea eax, [ebp - 0x20c]
mov dword [ebp - 0xdc], esi
push eax
lea eax, [ebp - 0x21c]
mov dword [ebp - 0xf0], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x21c], xmm0
mov dword [ebp - 0xec], ebx
call fcn.1001646e
mov eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xe0], 0xa60d0058
mov dword [eax], 0xfffffff5
call fcn.100133e5
lea eax, [ebp - 0x7c]
push eax
call fcn.1004f242
mov dword [eax], esi
mov eax, dword [ebp + 8]
lea esi, [ebp - 0xdc]
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