Function at 0x1000d0fa
Capabilities:
Extract resource via kernel32 functions
Get common file path
Get keyboard layout

Disassembly:
mov eax, 0x1006c881
call fcn.1006c078
mov eax, 0x10cc
call fcn.10067f00
push ebx
push esi
push edi
push 0xfffffffffffffffe
pop eax
push 3
pop esi
mov dword [ebp - 0x70], ecx
lea ecx, [ebp - 0x280]
mov dword [ebp - 0x3c], 0x4888999d
mov dword [ebp - 0x24], eax
push esi
mov byte [ebp - 0x71], dl
call fcn.1001a4ba
push 2
xor edi, edi
lea ecx, [ebp - 0x5e4]
pop ebx
mov dword [ebp - 4], edi
mov dword [ebp - 0x30], edi
push ebx
call fcn.1001a4ba
xor eax, eax
inc eax
mov byte [ebp - 4], al
mov dword [ebp - 0x1c], edi
jmp 0x1000d168
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x280]
mov dword [eax + ecx*4], 0x809b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1000d155
mov dword [ebp - 0x1c], edi
jmp 0x1000d185
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5e4]
mov dword [eax + ecx*4], 0x21ba52b3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1000d172
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp eax, 0xbbef
mov eax, dword [ebp - 0x3c]
setne cl
mov dword [ebp - 0x40], ecx
mov ecx, 0xa4c924b5
cmp ecx, eax
sbb ecx, ecx
xor edx, edx
neg ecx
add ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 0x38367457
setge al
cmp eax, dword [ebp - 0x3c]
jle 0x1000d1c8
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x3c]
xor edx, edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setl dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x3c]
push 2
setl bl
xor ecx, ecx
cmp ebx, eax
setge cl
xor eax, eax
add ecx, dword [ebp - 0x40]
inc eax
add esi, ecx
cmp esi, eax
pop esi
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], edi
jmp 0x1000d2dd
push esi
lea ecx, [ebp - 0x518]
call fcn.1001a4ba
mov dword [ebp - 0x28], edi
jmp 0x1000d22b
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x518]
mov dword [eax + ecx*4], 0x2a6a
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x1000d218
mov dword [ebp - 0x3c], edi
cmp dword [ebp - 0x3c], esi
jg 0x1000d2cf
mov ebx, dword [ebp - 0x518]
mov dword [ebp - 0x48], esi
xor edx, edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x280]
cmp dword [eax + ecx*4], 0x7d77fc7d
setg dl
inc edx
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x280]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x48]
add ecx, 9
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x280]
setne dl
xor ecx, ecx
add edx, dword [eax + esi*4]
mov eax, dword [ebp - 0x30]
cmp edx, eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
sete cl
mov dword [ebx + 4], ecx
mov ecx, dword [ebp - 0x280]
cmp dword [ecx + eax*4], edi
je 0x1000d2b6
cmp dword [ecx], edi
je 0x1000d2b6
xor eax, eax
lea ecx, [eax + 1]
jmp 0x1000d2b8
mov ecx, edi
mov eax, dword [ebp - 0x5e4]
push 2
pop esi
mov dword [eax], ecx
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jle 0x1000d242
lea ecx, [ebp - 0x518]
call fcn.1001af97
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x1000d207
lea ecx, [ebp - 0x5e4]
call fcn.1001af97
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x280]
call fcn.1001af97
push 3
pop ebx
mov dword [ebp - 0x3c], 0x4888999d
lea ecx, [ebp - 0x28c]
mov dword [ebp - 0x24], 0xfffffffe
push ebx
call fcn.1001a4ba
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x5b4]
mov dword [ebp - 0x30], edi
push esi
call fcn.1001a4ba
mov byte [ebp - 4], bl
mov dword [ebp - 0x1c], edi
jmp 0x1000d34a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28c]
mov dword [eax + ecx*4], 0x809b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1000d337
push 2
mov dword [ebp - 0x1c], edi
pop edi
jmp 0x1000d36a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5b4]
mov dword [eax + ecx*4], 0x21ba52b3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1000d357
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp eax, 0xbbef
mov eax, dword [ebp - 0x3c]
setne cl
mov dword [ebp - 0x40], ecx
mov ecx, 0xa4c924b5
cmp ecx, eax
sbb edx, edx
xor ecx, ecx
neg edx
add edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x38367457
setge al
cmp eax, dword [ebp - 0x3c]
jle 0x1000d3ad
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x3c]
xor edx, edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setl dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x3c]
setl bl
xor ecx, ecx
cmp ebx, eax
setge cl
xor eax, eax
add ecx, dword [ebp - 0x40]
inc eax
add esi, ecx
cmp esi, eax
sbb eax, eax
inc eax
xor ebx, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], ebx
jmp 0x1000d4c6
push edi
lea ecx, [ebp - 0x530]
call fcn.1001a4ba
mov dword [ebp - 0x28], ebx
jmp 0x1000d40f
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x530]
mov dword [eax + ecx*4], 0x2a6a
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x1000d3fc
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], edi
jg 0x1000d4b8
mov edi, dword [ebp - 0x530]
mov dword [ebp - 0x48], 2
xor edx, edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28c]
cmp dword [eax + ecx*4], 0x7d77fc7d
setg dl
inc edx
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x48]
add ecx, 9
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x28c]
setne dl
xor ecx, ecx
add edx, dword [eax + esi*4]
mov eax, dword [ebp - 0x30]
cmp edx, eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
sete cl
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x28c]
cmp dword [ecx + eax*4], ebx
je 0x1000d49e
cmp dword [ecx], ebx
je 0x1000d49e
xor eax, eax
lea ecx, [eax + 1]
jmp 0x1000d4a0
mov ecx, ebx
mov eax, dword [ebp - 0x5b4]
mov dword [eax], ecx
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 2
jle 0x1000d426
push 2
pop edi
lea ecx, [ebp - 0x530]
call fcn.1001af97
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jle 0x1000d3eb
lea ecx, [ebp - 0x5b4]
call fcn.1001af97
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28c]
call fcn.1001af97
push edi
lea ecx, [ebp - 0x838]
call fcn.1001a4ba
mov dword [ebp - 0x10], 0x8e5ccc90
mov dword [ebp - 0x28], ebx
jmp 0x1000d510
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x838]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x1000d501
xor eax, eax
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jl 0x1000d543
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], bl
je 0x1000d53e
push 0x184d
push ebx
push 0x1e2b
push 0x10c0
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
dec dword [ebp - 0x10]
jns 0x1000d520
lea ecx, [ebp - 0x838]
call fcn.1001af97
push 4
lea ecx, [ebp - 0x548]
call fcn.1001a4ba
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], ebx
jmp 0x1000d576
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x548]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1000d566
mov dword [ebp - 0x1c], ebx
jmp 0x1000d592
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x820], 0xbb489f7a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1000d581
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], 3
jg 0x1000d619
mov esi, dword [ebp - 0x548]
mov dword [ebp - 0x28], 0xb389
mov dword [ebp - 0x40], 0x5b689063
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
neg eax
sbb eax, eax
neg eax
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0x9beab1d6
sbb edx, edx
neg edx
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setge cl
sub ecx, eax
mov dword [ebp - 0x820], ecx
mov eax, dword [ebp - 0x28]
imul ecx, ecx, 0xfffd
sub ecx, dword [esi + 0xc]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
xor ecx, ecx
cmp eax, dword [esi + 4]
setge cl
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jle 0x1000d5a6
lea ecx, [ebp - 0x548]
call fcn.1001af97
mov dword [ebp - 0x3c], 0x4888999d
mov dword [ebp - 0x34], 0xb110c93b
mov dword [ebp - 0x28], 0x4255ebda
mov dword [ebp - 0x40], 0x25b4
cmp dword [ebp - 0x40], 0xac3
jge 0x1000d85b
lea eax, [ebp - 0xf0]
push eax
push 0x1000b1e0
call fcn.1005233b
mov eax, dword [ebp - 0xf0]
pop ecx
pop ecx
test eax, eax
je 0x1000d854
dec eax
mov dword [ebp - 0x48], 0x13
mov dword [ebp - 0xf0], eax
lea esi, [ebp - 0x10d8]
push 0x13
pop edi
push esi
push 0x1000b1e0
call fcn.1005233b
pop ecx
add esi, 4
pop ecx
dec edi
jne 0x1000d685
dec dword [ebp - 0x48]
jne 0x1000d682
lea ecx, [ebp - 0x10d8]
mov al, bl
mov esi, ebx
mov byte [ebp - 0x49], al
mov edi, ebx
mov dword [ebp - 0x28], esi
mov edx, ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x18], ecx
jmp 0x1000d6c2
mov al, byte [ebp - 0x49]
test al, al
jne 0x1000d843
mov dword [ebp - 0x34], edx
mov ecx, ebx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x10], edx
mov eax, dword [edx]
test eax, eax
je 0x1000d8ad
test esi, esi
je 0x1000d6f8
test ecx, ecx
je 0x1000d6f8
lea eax, [edi + ecx]
mov edi, dword [edx]
cmp dword [ebp + eax*4 - 0x1128], edi
mov edi, dword [ebp - 0x20]
je 0x1000d745
mov eax, dword [ebp - 0x1c]
cmp eax, 0xffffffed
jle 0x1000d748
mov dword [ebp - 0x38], edi
mov edx, ebx
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x34]
add eax, esi
cmp eax, 0x13
jge 0x1000d733
mov eax, dword [ebp - 0x38]
add eax, edx
add eax, ecx
mov eax, dword [ebp + eax*4 - 0x10d8]
cmp eax, dword [edi + ecx*4]
jne 0x1000d733
add dword [ebp - 0x38], 0x13
inc edx
inc esi
cmp esi, 0x13
jl 0x1000d70b
mov esi, dword [ebp - 0x28]
cmp edx, 5
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x10]
je 0x1000d7ec
mov eax, dword [ebp - 0x1c]
cmp eax, 0xffffffee
je 0x1000d758
test ecx, ecx
je 0x1000d758
mov eax, dword [edx]
cmp dword [edx + 0x48], eax
je 0x1000d796
test esi, esi
js 0x1000d798
mov edi, dword [ebp - 0x24]
mov eax, ecx
mov dword [ebp - 0x54], esi
mov esi, ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x40], edx
cmp eax, 0x13
jge 0x1000d788
mov eax, dword [edx]
cmp eax, dword [edi + ecx*4]
jne 0x1000d788
mov eax, dword [ebp - 0x48]
inc esi
inc eax
sub edx, 0x48
dec dword [ebp - 0x54]
mov dword [ebp - 0x48], eax
jns 0x1000d76c
mov edi, dword [ebp - 0x20]
cmp esi, 5
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x10]
je 0x1000d7ec
test esi, esi
je 0x1000d7af
lea eax, [edi + ecx]
mov edi, dword [edx]
cmp dword [ebp + eax*4 - 0x1124], edi
mov edi, dword [ebp - 0x20]
je 0x1000d866
cmp dword [ebp - 0x1c], 0xffffffed
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], ebx
jle 0x1000d869
mov edi, dword [ebp - 0x20]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x38], esi
mov esi, edx
mov dword [ebp - 0x40], edx
cmp dword [esi], eax
jne 0x1000d7e0
inc dword [ebp - 0x10]
add esi, 0x4c
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x13
jl 0x1000d7cd
cmp dword [ebp - 0x10], 5
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
jne 0x1000d869
xor eax, eax
inc eax
mov byte [ebp - 0x49], al
lea eax, [ecx + 1]
push eax
lea eax, [esi + 1]
push eax
lea eax, [edi + ecx]
push dword [ebp + eax*4 - 0x10d8]
push 0x1000b1e8
call fcn.10052a2c
add esp, 0x10
mov edx, dword [ebp - 0x1c]
inc esi
add dword [ebp - 0x24], 0x4c
add edi, 0x13
add dword [ebp - 0x18], 0x4c
dec edx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], edi
cmp edx, 0xffffffed
jg 0x1000d6bf
cmp byte [ebp - 0x49], bl
jne 0x1000d843
push 0x1000b1f4
call fcn.10052a2c
pop ecx
mov eax, dword [ebp - 0xf0]
test eax, eax
jne 0x1000d66e
push 2
pop edi
dec eax
mov dword [ebp - 0xf0], eax
push 8
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x1c], ebx
pop edx
jmp 0x1000d8d2
mov eax, dword [ebp - 0x24]
test ecx, ecx
je 0x1000d877
mov edi, dword [edx]
cmp dword [edx - 4], edi
mov edi, dword [ebp - 0x20]
je 0x1000d8ad
mov dword [ebp - 0x10], ebx
cmp ecx, 0x13
jge 0x1000d8ad
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x40], eax
mov eax, edx
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x38], ecx
cmp dword [eax], esi
jne 0x1000d8a0
inc dword [ebp - 0x10]
add eax, 4
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x13
jl 0x1000d88d
cmp dword [ebp - 0x10], 5
mov esi, dword [ebp - 0x28]
je 0x1000d7ec
inc ecx
add edx, 4
inc dword [ebp - 0x34]
mov dword [ebp - 0x10], edx
cmp ecx, 0x13
jl 0x1000d6d5
jmp 0x1000d811
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x630], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1000d8c5
push 3
mov dword [ebp - 0x1c], ebx
pop ecx
jmp 0x1000d8f1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x850], 0x59ec1348
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1000d8e0
mov dword [ebp - 0x34], edx
or esi, 0xffffffff
jmp 0x1000d9e3
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x40], 0xfffffff7
mov dword [ebp - 0x30], 0xf213ed42
mov dword [ebp - 0x28], ebx
jmp 0x1000d928
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xa08], 0xfffffff9
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1000d917
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], 0xffffffe8
je 0x1000d9e0
mov dword [ebp - 0x10], 0x2bc40ed3
xor edx, edx
mov ecx, dword [ebp - 0x10]
add ecx, 0xb2579d7c
mov dword [ebp - 0xa00], ecx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x630]
setge dl
xor ebx, ebx
cmp edx, 0x1a82e77e
setl bl
xor ecx, ecx
cmp eax, ebx
setge cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x630]
xor eax, eax
inc eax
mov dword [ebp - 0x84c], eax
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x630]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x630]
mov dword [ebp - 0x40], ecx
je 0x1000d9c2
mov eax, dword [ebp - 0x10]
mov ecx, 0xc5cecce0
sub ecx, eax
mov dword [ebp - 0x84c], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffe8
jne 0x1000d93a
push 3
xor ebx, ebx
pop ecx
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jg 0x1000d901
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x28], eax
xor edx, edx
mov dword [ebp - 0x18], 0x85f70ad6
inc edx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x34], 0x8bd2e84c
mov dword [ebp - 0x18], ebx
jmp 0x1000da22
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa40], 8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1000da11
mov dword [ebp - 0x18], ebx
jmp 0x1000da3e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x20c], 0x1cd43096
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1000da2d
mov dword [ebp - 0x18], ebx
jmp 0x1000da59
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc4], 0x695ef2b5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1000da48
mov dword [ebp - 0x18], ebx
jmp 0x1000db15
mov dword [ebp - 0x5c], 0x8c3a
mov dword [ebp - 0x48], 0x2c58fb77
mov dword [ebp - 0x40], 0x48afa2fa
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x5c], 0x11a7
mov dword [ebp - 0x48], 0xe712c519
mov dword [ebp - 0x28], ebx
jmp 0x1000daa2
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x9fc], 0x62ee6d05
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1000da91
inc dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc4]
neg eax
push 0
sbb eax, eax
inc eax
mov dword [ebp - 0x9fc], eax
pop eax
sete al
imul eax, eax, 0xffe6
cmp eax, 0xfffffffa
jl 0x1000dad6
mov eax, ebx
cmp dword [ebp - 0x40], ebx
je 0x1000dad8
mov eax, edx
cmp eax, 7
mov eax, dword [ebp - 0x34]
push 3
sbb ecx, ecx
neg ecx
dec dword [ebp - 0x34]
cmp eax, ecx
mov eax, dword [ebp - 0x20c]
mov ecx, edx
cmovg ecx, ebx
sub ecx, eax
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x48], 0x8ae0512e
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0xcbe
setg cl
mov dword [ebp - 0x40], ecx
dec dword [ebp - 0x18]
pop ecx
cmp dword [ebp - 0x18], 0xffffffe4
jl 0x1000da66
mov dword [ebp - 0x28], ebx
jmp 0x1000dc60
mov dword [ebp - 0x24], 0xa59f
mov dword [ebp - 0x10], 0x7cf3
mov dword [ebp - 0x40], 0x32cbeb03
mov dword [ebp - 0x48], edx
xor edx, edx
mov dword [ebp - 0x40], 0x18a503ec
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
imul ecx, dword [ebp - 0x24], 0x97e
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x18]
cmp eax, esi
setne cl
cmp ecx, dword [ebp - 0x20c]
mov byte [ebp - 0x29], bl
jle 0x1000dbb0
cmp byte [ebp - 0x29], 0
je 0x1000dbcc
push ebx
push 0xf7
push 0x11e
push 0x1e78
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
jmp 0x1000dbcc
cmp byte [ebp - 0x29], 0
je 0x1000dbcc
push 0xe2b
push 0x221d
push 0x12b0
push ebx
call dword [sym.imp.USER32.dll_GetMessageA]
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
cmp dword [ebp - 0x18], ebx
jg 0x1000dc5d
mov dword [ebp - 0x30], 0xfffffffa
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x20c], ebx
jne 0x1000dc26
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xa3c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x20c]
mov eax, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc4], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x20c]
cmp eax, edx
setg cl
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x10]
jg 0x1000dc50
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x20c], ebx
mov eax, edx
jne 0x1000dc52
mov eax, ebx
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x18]
jmp 0x1000dbd2
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 5
jne 0x1000db27
push 3
pop esi
push esi
lea ecx, [ebp - 0x2a4]
call fcn.1001a4ba
xor eax, eax
mov dword [ebp - 4], 4
inc eax
lea ecx, [ebp - 0x868]
mov dword [ebp - 0x34], eax
push edi
call fcn.1001a4ba
mov dword [ebp - 0x28], ebx
jmp 0x1000dcaa
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x868]
mov dword [eax + ecx*4], 0xdba3
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x1000dc97
mov dword [ebp - 0x34], 0xfffffff0
cmp dword [ebp - 0x34], 0xe
jne 0x1000dcee
xor eax, eax
inc eax
mov dword [ebp - 0x28], 0xe6da504
mov dword [ebp - 0x28], ebx
jmp 0x1000dce0
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x1000dcdd
call dword [sym.imp.USER32.dll_EndMenu]
xor eax, eax
inc eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x1000dccb
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xe
je 0x1000dcbf
lea ecx, [ebp - 0x868]
call fcn.1001af97
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x1000dd19
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xdc], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1000dd08
mov dword [ebp - 0x1c], ebx
jmp 0x1000dd34
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x490], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1000dd23
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0xffffffe3
je 0x1000de9f
xor edx, edx
inc edx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x1000de52
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], edi
cmp dword [ebp - 0x24], ebx
jl 0x1000de35
mov dword [ebp - 0x48], 0x3f0bc502
mov dword [ebp - 0x48], 0xfffffffb
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0xdc], ebx
jne 0x1000ddaf
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xdc]
test eax, eax
mov eax, dword [ebp - 0x24]
setne cl
cmp dword [ebp + eax*4 - 0xdc], ecx
jge 0x1000ddaf
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xdc]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xdc]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xdc]
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x20]
imul eax, eax, 5
test eax, eax
je 0x1000ddde
mov eax, dword [ebp - 0x24]
mov ecx, edx
cmp dword [ebp + eax*4 - 0xdc], ebx
jne 0x1000dde0
mov ecx, ebx
mov eax, dword [ebp - 0x24]
imul eax, ecx
cmp eax, dword [ebp - 0xd4]
je 0x1000ddf4
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0xdc]
mov eax, dword [ebp - 0xd8]
cmp dword [ebp - 0x20], ebx
jne 0x1000de17
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0xdc], ebx
mov eax, ebx
je 0x1000de19
mov eax, edx
xor ecx, ecx
add eax, 9
cmp eax, 0x3ac46ddc
setg cl
mov dword [ebp - 0x48c], ecx
dec dword [ebp - 0x24]
jns 0x1000dd6e
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0xdc]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xdc], ecx
dec dword [ebp - 0x18]
jns 0x1000dd5b
mov dword [ebp - 0x48c], 0x6dbd8d46
xor ecx, ecx
mov eax, dword [ebp - 0x18]
cmp eax, 0x6dbd8d46
setl cl
add ecx, dword [ebp - 0x18]
jne 0x1000de7c
mov eax, dword [ebp - 0x18]
mov ecx, 0xb1f0
sub ecx, eax
jne 0x1000de7c
mov edx, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, edx
setge cl
xor edx, edx
mov dword [ebp - 0x18], ecx
inc edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], edx
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe3
jne 0x1000dd49
push edi
lea ecx, [ebp - 0x560]
call fcn.1001a4ba
mov byte [ebp - 4], 5
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x5c], 0x1a9565e0
mov dword [ebp - 0x34], 7
jmp 0x1000def4
mov dword [ebp - 0x48], 0x9aed
mov dword [ebp - 0x28], ebx
jmp 0x1000dedf
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xa58], 0x82eac453
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x1000dece
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xa50], eax
mov eax, dword [ebp - 0x48]
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffffa
jle 0x1000dec2
mov dword [ebp - 0x1c], ebx
jmp 0x1000df12
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2a4]
mov dword [eax + ecx*4], 0x809b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1000deff
lea ecx, [ebp - 0x96c]
xorps xmm0, xmm0
push ecx
lea eax, [ebp - 0x95c]
push eax
push ecx
lea ecx, [ebp - 0x9e4]
movdqu xmmword [ebp - 0x96c], xmm0
call fcn.1001a518
xor ecx, ecx
mov dword [ebp - 0x28], ebx
inc ecx
jmp 0x1000df51
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xd0], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1000df44
mov dword [ebp - 0xd0], esi
cmp dword [ebp - 0xd0], ebx
jl 0x1000df8b
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x1000df83
push 0xd0b
push ebx
push 0x1958
push 0x783
call dword [sym.imp.USER32.dll_MapWindowPoints]
dec dword [ebp - 0xd0]
jns 0x1000df64
lea ecx, [ebp - 0x9e4]
call fcn.1001af97
mov dword [ebp - 0x1c], ebx
jmp 0x1000dfae
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x560]
mov dword [eax + ecx*4], 0x21ba52b3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1000df9b
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ebp - 0x48], 0xb0121307
mov dword [ebp - 0x28], ebx
jmp 0x1000dfd3
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xb8], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x1000dfc6
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x1000dfe8
push ebx
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov dword [ebp - 0x18], ebx
jmp 0x1000e0b2
mov dword [ebp - 0x40], 0x9973063d
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xb8]
cmp eax, 0xae2f
setne cl
add ecx, dword [ebp - 0x18]
jne 0x1000e045
cmp dword [ebp - 0xb4], ebx
jne 0x1000e045
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0xb8], ebx
jne 0x1000e045
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xb8]
cmp edx, eax
mov eax, dword [ebp - 0x18]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
add edx, dword [ebp + eax*4 - 0xb8]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0x48]
cmp eax, 0x2a3
setg cl
xor eax, eax
cmp edx, ecx
setne al
imul eax, dword [ebp - 0xb8]
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x1000e0af
push ebx
xor eax, eax
inc eax
push eax
push 0x2003
push ebx
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
inc dword [ebp - 0x18]
xor edx, edx
xor ecx, ecx
inc edx
cmp dword [ebp - 0x18], edx
jle 0x1000dff0
mov eax, dword [ebp - 0x3c]
cmp eax, 0xbbef
mov eax, dword [ebp - 0x3c]
setne cl
mov dword [ebp - 0x40], ecx
mov ecx, 0xa4c924b5
cmp ecx, eax
sbb edx, edx
xor ecx, ecx
neg edx
add edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x38367457
setge al
cmp eax, dword [ebp - 0x3c]
jle 0x1000e0fc
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x3c]
xor edx, edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setl dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x3c]
setl bl
xor ecx, ecx
cmp ebx, eax
setge cl
xor eax, eax
add ecx, dword [ebp - 0x40]
inc eax
add esi, ecx
cmp esi, eax
sbb eax, eax
xor ebx, ebx
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], edi
jg 0x1000eba4
mov esi, 0x40fc0272
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x5c], 0xb7c7ce53
mov dword [ebp - 0x5c], 0x7eede0b4
mov dword [ebp - 0x5c], 8
mov dword [ebp - 0x5c], 0x5a9c4c8d
mov dword [ebp - 0x5c], 0x4bf8f0aa
mov dword [ebp - 0x40], 0x24d4
cmp dword [ebp - 0x40], 0xce7
jge 0x1000e231
lea eax, [ebp - 0x100]
push eax
push 0x1000b1e0
call fcn.1005233b
pop ecx
pop ecx
jmp 0x1000e21c
dec eax
push 0x1065f240
push 0x1000b1f8
mov dword [ebp - 0x100], eax
call fcn.1005233b
push 0x64
lea eax, [ebp - 0xb2c]
mov dword [ebp - 0xb30], ebx
push ebx
push eax
call fcn.10052ae0
mov dl, byte [0x1065f240]
add esp, 0x14
test dl, dl
je 0x1000e1e5
mov ecx, 0x1065f240
movsx eax, dl
inc dword [ebp + eax*4 - 0xcb4]
inc ecx
mov al, byte [ecx]
mov dl, al
test al, al
jne 0x1000e1d2
mov ecx, ebx
mov eax, ebx
cmp dword [ebp + eax*4 - 0xb30], ecx
jle 0x1000e201
mov ecx, dword [ebp + eax*4 - 0xb30]
lea edx, [eax + 0x61]
mov byte [ebp - 0x11], dl
jmp 0x1000e204
mov dl, byte [ebp - 0x11]
inc eax
cmp eax, 0x1a
jl 0x1000e1e9
movsx eax, dl
push eax
push ecx
push 0x1000b1fc
call fcn.10052a2c
add esp, 0xc
mov eax, dword [ebp - 0x100]
test eax, eax
jne 0x1000e195
dec eax
mov dword [ebp - 0x100], eax
push 3
lea ecx, [ebp - 0x880]
call fcn.1001a4ba
mov dword [ebp - 0x48], 0xfffffffb
push 3
mov dword [ebp - 0x5c], 0xfffffff6
mov dword [ebp - 0x34], ebx
pop edx
jmp 0x1000e267
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x880]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edx
jl 0x1000e254
dec dword [ebp - 0x48]
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x1000e287
push ebx
push ebx
push 0x2101
push ebx
push ebx
call dword [sym.imp.USER32.dll_CreateDialogParamA]
lea ecx, [ebp - 0x880]
call fcn.1001af97
push edi
lea ecx, [ebp - 0x5c0]
call fcn.1001a4ba
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x898]
xor eax, eax
mov dword [ebp - 0x1c], 0xb26bdde0
inc eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], 0xfffffff6
push eax
call fcn.1001a4ba
xor edx, edx
mov dword [ebp - 0x34], ebx
inc edx
jmp 0x1000e2dd
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x898]
mov dword [eax + ecx*4], 0xae5a
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edx
jl 0x1000e2ca
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x1000e306
push 0x1aba
push ebx
push ebx
push 0x105b
push ebx
push 0x8ee
call dword [sym.imp.GDI32.dll_CreateDIBitmap]
xor edx, edx
inc edx
mov dword [ebp - 0x1c], 0xfffffff6
jmp 0x1000e3b2
mov dword [ebp - 0x24], edx
inc dword [ebp - 0x24]
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jg 0x1000e3af
mov dword [ebp - 0x48], 0xb9e9d60a
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x1000e344
push 0xe1b
push 0x548
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x1000e3a0
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], ebx
jl 0x1000e387
mov dword [ebp - 0x34], 0x8fdeb772
mov dword [ebp - 0x34], ebx
jmp 0x1000e37d
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x1000e39b
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x1000e324
xor edx, edx
inc edx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffef
jl 0x1000e312
lea ecx, [ebp - 0x898]
call fcn.1001af97
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x188], esi
mov dword [ebp - 0x184], esi
mov dword [ebp - 0x180], esi
mov dword [ebp - 0x38], 0x314af12a
mov dword [ebp - 0x48], 0x2b4b5a9c
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x40], 0xfffffffb
mov dword [ebp - 0x34], ebx
jmp 0x1000e418
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x324], 8
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jl 0x1000e407
mov esi, dword [ebp - 0x184]
neg esi
sbb esi, esi
neg esi
cmp dword [ebp - 0x180], ebx
jne 0x1000e47d
lea ecx, [ebp - 0x560]
call fcn.1001af97
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2a4]
call fcn.1001af97
push edi
lea ecx, [ebp - 0x778]
call fcn.1001a4ba
mov dword [ebp - 0x10], 0x8e5ccc90
mov dword [ebp - 0x10], ebx
jmp 0x1000ebe5
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x778]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1000ebd6
xor eax, eax
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jl 0x1000ec19
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000ec14
push 0x184d
push ebx
push 0x1e2b
push 0x10c0
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
dec dword [ebp - 0x10]
jns 0x1000ebf5
lea ecx, [ebp - 0x778]
call fcn.1001af97
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000ec3e
push 0xb70
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000ec53
push ebx
push 0x158b
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
mov dword [ebp - 0x3c], 0x948708ef
push 4
pop ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x18], 0x7597a61e
mov dword [ebp - 0x20], 0xe1459f45
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x54], 0xfff16ce6
mov dword [ebp - 0x1c], 0xfffffffd
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x1000ec98
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x8cc], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1000ec8b
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], 7
imul eax, dword [ebp - 0x3c], 0x6e6a
add eax, dword [ebp - 0x18]
cmp eax, 0x35b2
mov eax, dword [ebp - 0x3c]
setne cl
sub eax, ecx
sub eax, dword [ebp - 0x34]
dec eax
neg eax
sbb eax, eax
inc eax
sub eax, 0x74ec135c
je 0x1000ed51
mov dword [ebp - 0x28], 0xfff6
xor edx, edx
mov dword [ebp - 0x30], edi
inc edx
mov dword [ebp - 0x44], 0x88d514fa
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x20]
cmp eax, ecx
mov ecx, edx
jne 0x1000ecfb
mov ecx, ebx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x28]
add eax, ecx
imul eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x3c]
jl 0x1000ed1a
cmp dword [ebp - 0x28], ebx
je 0x1000ed1c
mov ebx, edx
mov eax, dword [ebp - 0x34]
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
sete dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x24], 0xcea0
mov dword [ebp - 0x30], eax
jmp 0x1000eec7
xor eax, eax
mov dword [ebp - 0x30], 0xe240
inc eax
mov dword [ebp - 0x38], 0xeac84c92
push eax
lea ecx, [ebp - 0x3f4]
call fcn.1001a4ba
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x10], ebx
jmp 0x1000ed89
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3f4]
mov dword [eax + ecx*4], 0x3da79815
inc dword [ebp - 0x10]
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x10], ecx
jl 0x1000ed76
push 3
mov dword [ebp - 0x3c], ebx
pop esi
jmp 0x1000ee60
mov dword [ebp - 0x50], 0x303a67d6
mov dword [ebp - 0x5c], 0xe6ba9994
mov dword [ebp - 0x10], ebx
jmp 0x1000edc0
cmp dword [ebp - 0x3c], esi
jle 0x1000ed9c
mov dword [ebp - 0x20], ebx
jmp 0x1000eeb7
mov dword [ebp - 0x44], 0x243d
cmp dword [ebp - 0x44], 0x8a6
jge 0x1000f006
lea eax, [ebp - 0x128]
mov ecx, 0x1065e1b0
push eax
call fcn.10019e81
mov ecx, dword [ebp - 0x128]
mov eax, ecx
mov edx, dword [ebp - 0x124]
or eax, edx
je 0x1000eff4
add ecx, 0xffffffff
lea eax, [ebp - 0x170]
push eax
push ecx
lea eax, [ebp - 0x4a0]
mov dword [ebp - 0x128], ecx
adc edx, 0xffffffff
mov ecx, 0x1065e1b0
push eax
mov dword [ebp - 0x124], edx
call fcn.10019e81
pop ecx
mov ecx, eax
call fcn.10019e81
push dword [ebp - 0x16c]
push dword [ebp - 0x170]
push dword [ebp - 0x49c]
push dword [ebp - 0x4a0]
call fcn.10067990
push dword [ebp - 0x16c]
mov edi, dword [ebp - 0x170]
push dword [ebp - 0x170]
mov esi, dword [ebp - 0x16c]
mov dword [ebp - 0x44], eax
xor eax, eax
inc eax
mov dword [ebp - 0x40], ebx
sub edi, eax
mov dword [ebp - 0x6c], ecx
mov ebx, edx
sbb esi, 0
push esi
push edi
call fcn.10056e20
push 0
push 2
push edx
push eax
call fcn.1006c0a0
push ebx
push dword [ebp - 0x44]
push edx
push eax
call fcn.10056e20
mov ebx, eax
mov edi, edx
mov edx, dword [ebp - 0x6c]
xor eax, eax
inc eax
mov esi, edx
add esi, eax
mov eax, dword [ebp - 0x40]
push eax
mov ecx, eax
push edx
adc ecx, 0
push ecx
push esi
call fcn.10056e20
push 0
push 2
push edx
push eax
call fcn.1006c0a0
add ebx, eax
mov ecx, 0x1065e0f8
adc edi, edx
push edi
push ebx
call fcn.1001a275
push eax
call fcn.1001ed7d
mov edx, dword [ebp - 0x124]
pop ecx
mov ecx, dword [ebp - 0x128]
mov eax, ecx
or eax, edx
jne 0x1000ef02
add ecx, 0xffffffff
mov dword [ebp - 0x128], ecx
adc edx, 0xffffffff
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x18]
cmp eax, 0x751a5503
mov eax, dword [ebp - 0x18]
setle cl
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x54]
push 3
setne bl
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x3c]
pop esi
setg dl
xor ecx, ecx
cmp edx, eax
push esi
setne cl
imul ebx, ecx
lea ecx, [ebp - 0x750]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x5c], 0x8a8f
mov dword [ebp - 0x5c], 0x8094a188
mov dword [ebp - 0x5c], 0xfffffffb
call fcn.1001a4ba
xor ebx, ebx
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x1c], ebx
jmp 0x1000f082
cmp dword [ebp - 0x1c], esi
jl 0x1000f06f