Function at 0x10012250
Capabilities:
Encode data using xor
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x48
mov esi, esp
mov eax, dword [0x1006e940]
xor eax, ebp
mov dword [esi + 0x40], eax
mov eax, dword [0x10071bf8]
mov ecx, dword [0x1006766c]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xb
cmp dword [0x10071bf4], ecx
setge ch
setl cl
lea edx, [eax + 1]
imul edx, eax
mov eax, dword [0x10067670]
mov ebx, dword [0x10067674]
mov edi, eax
or edi, ebx
not edi
add edi, eax
not ebx
or ebx, eax
sub edi, ebx
and edx, 1
cmp edx, edi
sete al
mov edx, ecx
or dl, al
add dl, al
xor cl, al
not cl
add cl, dl
add cl, ch
test cl, 1
je 0x1001252c
push eax
mov dword [esi + 8], esp
push eax
mov dword [esi + 0x24], esp
push eax
mov dword [esi + 0x2c], esp
push eax
mov dword [esi + 0x28], esp
push eax
mov edi, esp
push eax
mov ebx, esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x30], eax
mov esp, eax
push eax
mov dword [esi + 0x34], esp
push 0x1006e280
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1006e274
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 0x1c
movaps xmm0, xmmword [0x1005f1b0]
movups xmmword [esp + 4], xmm0
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x80
call eax
mov dword [ebx], eax
mov dword [esi + 0x20], ebx
mov eax, dword [ebx]
cmp eax, 0xffffffff
mov dword [esi + 0x38], edi
sete byte [edi]
push eax
mov dword [esi + 0x10], esp
mov ebx, dword [0x10067648]
mov dword [esi + 4], ebx
mov edx, dword [0x1006764c]
mov edi, edx
xor edi, ebx
mov ecx, edi
not ecx
mov dword [esi + 0x1c], ecx
and ecx, ebx
mov eax, edi
and eax, ebx
sub ecx, eax
add ecx, ebx
add ecx, edi
or edi, ebx
sub ecx, edi
add ecx, ecx
mov ebx, 0x84ec894a
sub ebx, ecx
mov eax, ebx
and eax, 0x84ec8948
add eax, ebx
not ebx
or ebx, 0x7b1376b6
add ebx, eax
mov eax, dword [esi + 4]
not eax
mov dword [esi], eax
mov ecx, eax
and ecx, edx
mov edi, eax
xor edi, edx
or edx, eax
mov eax, edi
sub eax, edx
not edx
add edx, edx
sub eax, edx
not edi
add edi, eax
mov edx, ecx
not edx
add edi, edx
mov eax, ecx
xor eax, edi
mov dword [esi + 0x18], ecx
sub dword [esi + 0x18], eax
or edi, ecx
add edi, dword [esi + 0x18]
add edi, eax
add edx, edi
sub edi, ecx
mov eax, dword [esi + 4]
lea ecx, [eax + ebx]
add ecx, 0x7b1376b7
not edx
mov ebx, ecx
and ebx, edx
mov eax, ecx
not eax
and eax, edx
sub ebx, eax
add ebx, edi
xor edx, ecx
add edx, ebx
mov eax, dword [esi + 0x1c]
mov ecx, eax
mov edi, dword [esi + 4]
xor ecx, edi
mov ebx, dword [esi]
or edi, ebx
and edi, eax
not ecx
add ecx, edi
or ebx, eax
sub ecx, ebx
not ecx
lea eax, [ecx + ecx*2]
add ecx, ecx
sub eax, ecx
mov ecx, edx
not ecx
lea edi, [edx + ecx]
or ecx, 0xd06e975c
sub edi, ecx
and edx, 0xd06e975c
lea ecx, [edi + edx]
add edx, edi
add edx, 0xd06e975c
lea edi, [eax - 1]
and edi, edx
add ecx, edi
add ecx, 0xd06e975c
mov edi, eax
add eax, eax
sub ecx, eax
neg edi
or edi, edx
sub ecx, edi
lea eax, [ecx + 0x2f9168a4]
mov edx, eax
not edx
and eax, 0x4b12e69
add eax, ecx
add eax, 0x2f9168a4
and edx, 0x4b12e69
add edx, eax
imul eax, edx, 0x49363e3d
mov ecx, 0xb6c9c1c3
sub ecx, eax
or ecx, 0x7542cbf3
sub ecx, eax
add eax, 0x49363e3c
or eax, 0x7542cbf3
add eax, ecx
imul eax, eax, 0x17a436eb
add eax, 0x17a436ec
mov ecx, eax
not ecx
and ecx, 0x38027a11
add ecx, ecx
mov edx, eax
sub edx, ecx
mov ecx, eax
xor ecx, 0x38027a11
add ecx, edx
sub ecx, eax
mov eax, dword [esi + 0x10]
mov dword [eax], ecx
push eax
mov dword [esi + 0x18], esp
push eax
mov dword [esi + 0x1c], esp
push eax
mov ebx, esp
mov eax, dword [0x10067678]
mov ecx, dword [0x1006767c]
mov edi, eax
xor edi, ecx
mov edx, eax
sub edx, edi
mov edi, ecx
not edi
or edi, eax
sub edx, edi
and eax, ecx
not eax
add eax, edx
add eax, 0xd9586d52
mov dword [ebx], eax
mov eax, dword [0x10067680]
mov ecx, dword [0x10067684]
mov edx, eax
or edx, ecx
not ecx
or ecx, eax
add ecx, edx
not eax
add eax, ecx
add eax, 0xc
cmp dword [0x10071bf0], eax
mov edx, dword [0x10071bec]
setl al
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
mov ah, al
and ah, cl
mov dh, al
or dh, dl
xor dl, al
or al, cl
add dh, ah
not dl
add dl, dh
add al, dl
add al, 1
test al, 1
je 0x1001270e
push eax
push eax
push eax
push eax
push eax
mov edi, esp
push eax
mov ebx, esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
push 0x1006e280
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1006e274
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 0x1c
movaps xmm0, xmmword [0x1005f1b0]
movups xmmword [esp + 4], xmm0
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x80
call eax
mov dword [ebx], eax
mov eax, dword [ebx]
cmp eax, 0xffffffff
sete byte [edi]
push eax
mov dword [esi + 0x10], esp
mov ebx, dword [0x10067648]
mov edi, dword [0x1006764c]
mov edx, edi
not edx
mov dword [esi + 4], edx
mov eax, ebx
or eax, edx
mov ecx, ebx
and ecx, edx
sub eax, ecx
mov ecx, eax
and ecx, ebx
lea ecx, [ecx + ecx*2]
mov edx, eax
or edx, ebx
not edx
lea ecx, [ecx + edx*2]
xor eax, ebx
not eax
add eax, eax
sub ecx, eax
mov dword [esi + 8], ecx
mov edx, edi
mov dword [esi + 0x1c], edi
lea eax, [edi + edi]
mov edi, dword [esi + 4]
mov ecx, edi
sub ecx, eax
add ecx, edi
lea eax, [edx + edx*2]
lea edx, [ecx + eax]
add edx, 1
mov edi, dword [esi + 8]
add edi, edi
mov eax, ebx
not ebx
xor edx, eax
mov ecx, edx
and ecx, eax
mov dword [esi + 0x18], ecx
mov ecx, edx
and ecx, ebx
mov dword [esi + 0x24], ecx
mov ecx, edx
xor ecx, eax
mov dword [esi + 0x20], ecx
lea ecx, [eax + ebx*2]
mov dword [esi + 8], ecx
lea ecx, [eax + ebx*2]
add ecx, 1
or ebx, edx
not edx
or edx, eax
mov dword [esi + 0x2c], edx
sub eax, edi
mov dword [esi + 0x28], eax
mov edi, dword [esi + 0x1c]
mov edx, edi
or edx, dword [esi + 4]
and edx, ecx
add edx, edi
mov eax, ecx
or eax, edi
sub edx, eax
mov eax, 0xfffffffe
sub eax, dword [esi + 8]
and eax, edi
xor ecx, edi
add eax, eax
add ecx, ecx
sub ecx, eax
sub ecx, dword [esi + 4]
sub ecx, dword [esi + 8]
add ecx, 0xfffffffe
mov eax, edx
not eax
mov edi, eax
and edi, ecx
add edi, edx
or edx, ecx
add edx, edi
or eax, ecx
not ecx
add ecx, edx
add ecx, eax
add ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x24]
add edx, edx
mov eax, dword [esi + 0x18]
sub eax, edx
mov edx, dword [esi + 0x20]
add edx, eax
add ebx, edx
sub ebx, dword [esi + 0x2c]
lea eax, [ecx + ebx]
add ecx, ebx
add ecx, 0xd06e975f
or ecx, 0xd06e975c
add eax, ecx
add eax, 0xd06e975f
not ecx
add eax, ecx
add eax, 0x2f9168a5
mov ecx, eax
or ecx, 0xfb4ed196
mov edx, eax
sub edx, ecx
mov ecx, eax
or ecx, 0x4b12e69
add ecx, edx
not eax
add ecx, eax
add eax, eax
or eax, 0xf69da32c
sub ecx, eax
imul eax, ecx, 0x49363e3d
mov ecx, 0x81148735
sub ecx, eax
not ecx
imul eax, ecx, 0xe85bc915
add eax, 0xb0594f04
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
push eax
push eax
push eax
mov dword [esi + 4], esp
mov eax, dword [0x10067a38]
mov edi, dword [0x10067a3c]
mov edx, eax
not edx
mov ebx, edx
and ebx, edi
mov ecx, eax
or ecx, edi
sub ecx, ebx
or edx, edi
add edx, ecx
and eax, edi
not eax
add eax, edx
add eax, 0xd9586d54
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x100122c6
mov dword [esi + 4], ebx
nop word cs:[eax + eax]
nop dword [eax + eax]
mov ebx, dword [esi + 4]
cmp dword [0x10071be8], 0xa
mov edi, dword [0x10071be4]
setge cl
setl al
mov edx, edi
not edx
lea edx, [edx + edi*2]
add edx, 2
imul edx, edi
test dl, 1
sete ah
and dl, al
or al, ah
not al
add al, dl
or cl, ah
add cl, al
mov eax, dword [ebx]
test cl, 1
je 0x10012723
cmp eax, 0xc3481daa
jle 0x10012800
cmp eax, 0xfe7968a
jle 0x10012880
cmp eax, 0x45497590
jle 0x100129ae
cmp eax, 0x45497591
je 0x10012b9f
cmp eax, 0x54d5581c
je 0x10012bf4
cmp eax, 0x57586c1f
jne 0x10012fc0
mov edx, dword [0x10071be0]
cmp dword [0x10071bdc], 0xa
setl byte [esi]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x10067818]
mov edi, dword [0x1006781c]
mov ebx, edx
or ebx, edi
lea eax, [edi + edi*2]
sub ebx, eax
not edx
or edx, edi
not edi
add edi, edi
sub ebx, edi
lea eax, [ebx + edx]
add eax, 0xffffffff
mov edi, dword [esi + 4]
and ecx, 1
cmp ecx, eax
sete al
or al, byte [esi]
add al, 1
test al, 1
je 0x10013a66
jmp 0x10013b28
cmp eax, 0xa676bc3d
jg 0x10012920
cmp eax, 0x96290f22
jle 0x10012a31
cmp eax, 0x96290f23
je 0x10012c5e
cmp eax, 0x9a02a070
je 0x10012c88
cmp eax, 0xa1b9fad4
jne 0x10012fc0
cmp dword [0x10071bd8], 0xa
mov edx, dword [0x10071bd4]
setge cl
setl al
lea ebx, [edx - 1]
imul ebx, edx
test bl, 1
mov ebx, dword [esi + 4]
sete dl
mov ah, al
and ah, dl
add ah, dl
or al, dl
add ah, al
not al
add al, ah
add al, cl
add al, 1
test al, 1
je 0x100130b4
jmp 0x10013146
cmp eax, 0xd9586d51
jle 0x10012ab4
cmp eax, 0xd9586d52
je 0x10012cd6
cmp eax, 0xe9a415ca
je 0x10012d26
cmp eax, 0xf37f2de5
jne 0x10012fc0
mov eax, dword [0x10067928]
mov ecx, dword [0x1006792c]
mov edx, ecx
not edx
mov edi, eax
and edi, edx
add edi, edi
sub edi, ecx
xor ecx, eax
not ecx
add ecx, edi
add edx, edx
sub ecx, edx
not eax
add eax, ecx
add eax, 0xa
cmp dword [0x10071bd0], eax
mov edx, dword [0x10071bcc]
setl cl
setge al
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
sete dl
mov ah, al
and ah, dl
add ah, dl
or cl, dl
add cl, ah
add cl, al
or al, dl
add al, cl
add al, 1
test al, 1
je 0x1001338c
jmp 0x100135fa
cmp eax, 0xaf29b506
jle 0x10012b0e
cmp eax, 0xaf29b507
je 0x10012d9f
cmp eax, 0xb22e5c10
je 0x10012dd6
cmp eax, 0xb56d9608
jne 0x10012fc0
cmp dword [0x10071bc8], 0xa
mov edx, dword [0x10071bc4]
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov ebx, dword [0x100677a0]
mov edx, dword [0x100677a4]
mov dword [esi], edx
mov edi, ebx
xor edi, edx
mov edx, ebx
or edx, dword [esi]
not edx
add edx, edi
and ebx, dword [esi]
add edx, ebx
add edx, 1
mov edi, dword [esi + 4]
and ecx, 1
cmp ecx, edx
setne cl
sete dl
mov ah, al
and ah, dl
or dl, al
add dl, ah
add dl, cl
or al, cl
add al, dl
add al, 1
test al, 1
je 0x100131dd
jmp 0x1001328b
cmp eax, 0xfe7968b
je 0x10012e54
cmp eax, 0x1aec5ec6
jne 0x10012faa
mov edi, dword [0x10071bc0]
cmp dword [0x10071bbc], 0xa
setge ch
setl cl
mov edx, edi
not edx
add edx, edi
add edx, edi
imul edx, edi
mov edi, dword [0x100679a8]
mov eax, dword [0x100679ac]
mov dword [esi], eax
mov ebx, edi
and ebx, eax
lea eax, [ebx + ebx]
mov dword [esi + 0xc], eax
mov eax, edi
sub eax, dword [esi + 0xc]
not edi
or edi, dword [esi]
add edi, eax
lea eax, [ebx + edi]
add eax, 1
mov ebx, dword [esi + 4]
and edx, 1
cmp edx, eax
sete al
mov edx, ecx
and dl, al
or cl, al
add cl, dl
add cl, ch
or ch, al
add ch, cl
test ch, 1
jne 0x10014318
jmp 0x100143c5
cmp eax, 0x86533857
je 0x10012ebe
cmp eax, 0x893c7bc4
jne 0x10012fc0
mov edi, dword [0x10071bb8]
cmp dword [0x10071bb4], 0xa
setge ch
setl cl
mov edx, edi
not edx
add edx, edi
add edx, edi
imul edx, edi
mov edi, dword [0x10067908]
mov eax, dword [0x1006790c]
mov dword [esi], eax
mov ebx, edi
and ebx, eax
lea eax, [ebx + ebx]
mov dword [esi + 0xc], eax
mov eax, edi
sub eax, dword [esi + 0xc]
not edi
or edi, dword [esi]
add edi, eax
lea eax, [ebx + edi]
add eax, 1
mov edi, dword [esi + 4]
and edx, 1
cmp edx, eax
sete al
mov edx, ecx
and dl, al
or cl, al
add cl, dl
add cl, ch
or ch, al
add ch, cl
test ch, 1
jne 0x1001300c
jmp 0x1001306e
cmp eax, 0xc3481dab
je 0x10012f29
cmp eax, 0xc4f8aac0
jne 0x10012fc0
mov edx, dword [0x10071bb0]
mov ecx, edx
not ecx
cmp dword [0x10071bac], 0xa
setl al
mov edi, edx
or edi, 0xfffffffe
add edi, edx
or ecx, 0xfffffffe
add ecx, edi
add ecx, 4
imul ecx, edx
test cl, 1
sete dl
or cl, al
xor al, dl
not al
add al, dl
add cl, al
test cl, 1
jne 0x100132a9
jmp 0x10013345
cmp eax, 0xa676bc3e
je 0x10012f85
cmp eax, 0xae1fc511
jne 0x10012fc0
mov ecx, dword [0x100677c0]
mov edx, dword [0x100677c4]
mov eax, ecx
xor eax, edx
add eax, ecx
add eax, edx
or ecx, edx
add ecx, ecx
sub eax, ecx
add eax, 0xa
cmp dword [0x10071ba8], eax
mov edx, dword [0x10071ba4]
setl byte [esi]
lea ecx, [edx + 1]
imul ecx, edx
mov edi, dword [0x100677c8]
mov ebx, dword [0x100677cc]
mov eax, edi
and eax, ebx
sub eax, edi
mov edx, edi
not edx
and edx, ebx
sub eax, edx
xor edi, ebx
mov ebx, dword [esi + 4]
add edi, eax
and ecx, 1
cmp ecx, edi
setne al
sete cl
mov ah, byte [esi]
mov dl, ah
or dl, cl
add dl, cl
or al, ah
add al, dl
and ah, cl
sub al, ah
test al, 1
je 0x10013164
jmp 0x100131ad
mov edx, dword [0x10071ba0]
cmp dword [0x10071b9c], 0xa
setl byte [esi]
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 0x1184d9e0
imul ecx, edx
mov ebx, dword [0x10067890]
mov edi, dword [0x10067894]
mov eax, ebx
and eax, edi
mov edx, ebx
xor edx, edi
add edx, eax
or ebx, edi
sub edx, ebx
mov ebx, dword [esi + 4]
and ecx, 1
cmp ecx, edx
sete al
or al, byte [esi]
cmp al, 1
je 0x10013cb1
jmp 0x10013d35
mov ecx, dword [0x10071b98]
mov eax, dword [0x10067748]
mov edx, dword [0x1006774c]
mov edi, eax
not edi
and edi, edx
and eax, edx
not edx
add edx, edi
add eax, edx
add eax, 0xb
cmp dword [0x10071b94], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, dword [0x10067750]
mov edi, dword [0x10067754]
mov ebx, ecx
and ebx, edi
not ecx
add ebx, ecx
or ecx, edi
sub ebx, ecx
and edx, 1
cmp edx, ebx
mov edi, dword [esi + 4]
setne cl
sete dl
or al, dl
add al, dl
add al, cl
test al, 1
je 0x10013894
jmp 0x10013911
cmp dword [0x10071b90], 0xa
mov eax, dword [0x10071b8c]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x10013faa
jmp 0x100141b6
mov eax, dword [0x100677e8]
mov ecx, dword [0x100677ec]
mov edx, eax
and edx, ecx
mov edi, eax
or edi, ecx
not edi
add edi, edi
lea edx, [edi + edx*2]
xor eax, ecx
not eax
add eax, eax
sub edx, eax
add edx, 0xa
cmp dword [0x10071b88], edx
mov eax, dword [0x10071b84]
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x100139a8
jmp 0x10013a2b
mov eax, dword [0x10071b80]
mov ecx, dword [0x100676d0]
mov edx, dword [0x100676d4]
mov edi, ecx
not edi
and edi, edx
and ecx, edx
not edx
add edx, edi
add ecx, edx
add ecx, 0xb
cmp dword [0x10071b7c], ecx
setl cl
mov ebx, eax
not ebx
add ebx, eax
add ebx, eax
imul ebx, eax
test bl, 1
mov ebx, dword [esi + 4]
sete al
or al, cl
add al, 1
test al, 1
je 0x100137b9
jmp 0x10013863
mov edx, dword [0x10071b78]
mov eax, dword [0x10067770]
mov ecx, dword [0x10067774]
not eax
mov edi, eax
and edi, ecx
sub edi, ecx
sub edi, eax
or eax, ecx
add eax, edi
add eax, 0xa
cmp dword [0x10071b74], eax
setge cl
setl al
lea edi, [edx - 1]
imul edi, edx
mov edx, dword [0x10067778]
mov ebx, dword [0x1006777c]
mov dword [esi], ebx
mov ebx, dword [esi]
and ebx, edx
not edx
add ebx, edx
or edx, dword [esi]
sub ebx, edx
and edi, 1
cmp edi, ebx
mov edi, dword [esi + 4]
sete dl
setne ah
and ah, al
add ah, al
and cl, dl
add cl, ah
add cl, dl
or al, dl
add al, cl
add al, 1
test al, 1
je 0x1001392f
jmp 0x1001398d
mov eax, dword [0x10067864]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10071b70], eax
mov eax, dword [0x10071b6c]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x10013c0f
jmp 0x10013c71
mov ecx, dword [0x10067950]
mov eax, dword [0x10067954]
mov edx, eax
not edx
mov edi, ecx
and edi, edx
sub edi, ecx
sub edi, ecx
xor eax, ecx
add eax, edi
sub eax, edx
sub eax, edx
or edx, ecx
lea ecx, [edx + edx*2]
add eax, ecx
add eax, 0xb
cmp dword [0x10071b68], eax
mov edx, dword [0x10071b64]
setl byte [esi + 0xc]
lea edi, [edx - 1]
imul edi, edx
mov edx, dword [str._i]
mov dword [esi], edx
not edx
mov ebx, dword [0x10067958]
mov eax, ebx
and eax, edx
add eax, eax
mov ecx, ebx
xor ecx, dword [esi]
sub ecx, eax
or edx, ebx
add edx, ecx
not ebx
or ebx, dword [esi]
sub edx, ebx
mov ebx, dword [esi + 4]
and edi, 1
cmp edi, edx
sete al
or al, byte [esi + 0xc]
jne 0x10013ed3
jmp 0x10013f4a
mov ecx, dword [0x10071b60]
mov eax, dword [0x100678d8]
mov edx, dword [0x100678dc]
mov edi, eax
or eax, edx
not edx
and edi, edx
not eax
add eax, edi
sub eax, edx
add eax, 0xa
cmp dword [0x10071b5c], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, dword [0x100678e4]
mov edi, ecx
not edi
mov ebx, dword [0x100678e0]
or edi, ebx
add edi, ecx
and ebx, ecx
not ebx
lea ecx, [ebx + edi]
add ecx, 2
mov ebx, dword [esi + 4]
and edx, 1
cmp edx, ecx
sete cl
or cl, al
cmp cl, 1
je 0x10013e27
jmp 0x10013ec8
mov edx, dword [0x10071b58]
cmp dword [0x10071b54], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov ebx, dword [0x100679f8]
mov dword [esi], ebx
mov edi, dword [0x100679fc]
or ebx, edi
not ebx
add ebx, ebx
mov edx, dword [esi]
xor edx, edi
not edx
add edx, edx
sub ebx, edx
not edi
sub ebx, edi
sub ebx, edi
or edi, dword [esi]
lea edx, [ebx + edi*2]
mov ebx, dword [esi + 4]
and ecx, 1
cmp ecx, edx
sete cl
mov edx, eax
xor dl, cl
mov ah, al
or ah, cl
add dl, ah
not ah
add ah, dl
and al, cl
not al
add al, ah
test al, 1
jne 0x10014406
jmp 0x100144e1
mov edx, dword [0x10071b50]
cmp dword [0x10071b4c], 0xa
setl byte [esi]
lea eax, [edx + 1]
imul eax, edx
mov dword [esi + 0xc], eax
mov edx, dword [0x10067844]
mov edi, edx
not edi
mov eax, dword [0x10067840]
mov ebx, eax
and ebx, edi
sub ebx, eax
sub ebx, eax
xor edx, eax
add edx, ebx
sub edx, edi
sub edx, edi
or edi, eax
lea eax, [edi + edi*2]
add eax, edx
add eax, 1
mov ecx, dword [esi + 0xc]
and ecx, 1
cmp ecx, eax
sete al
or al, byte [esi]
cmp al, 1
je 0x10013b46
jmp 0x10013bce
mov eax, dword [0x10071b48]
cmp dword [0x10071b44], 0xa
setge cl
lea edx, [eax - 0x89a85b9]
imul edx, eax
test cl, dl
je 0x10013d73
jmp 0x10013e02
cmp eax, 0x423242f7
je 0x10014500
nop word cs:[eax + eax]
nop
mov eax, dword [0x100676c0]
mov edx, dword [0x100676c4]
lea edi, [edx + edx]
mov ecx, eax
or ecx, edx
sub edi, ecx
mov ecx, edx
not ecx
or ecx, eax
add ecx, edi
not eax
add ecx, eax
or eax, edx
add eax, eax
sub ecx, eax
mov eax, dword [0x10071b40]
add ecx, 0xa
cmp dword [0x10071b3c], ecx
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
je 0x10012fc0
jmp 0x10014480
mov eax, dword [esi + 0x38]
cmp byte [eax], 0
mov eax, 0xa032d007
mov ecx, 0xfbe80c3f
cmovne eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [0x10067914]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0x86533858
mov dword [edi], eax
mov edx, dword [0x10071b38]
cmp dword [0x10071b34], 0xa
setl cl
lea eax, [edx + 1]
imul eax, edx
test al, 1
sete dl
or dl, cl
or al, cl
add cl, dl
not dl
add dl, cl
add al, dl
mov ecx, dword [esi + 0x1c]
mov dword [ecx], 0
test al, 1
jne 0x10014480
mov eax, dword [esi + 0x38]
cmp byte [eax], 0
mov eax, 0xa032d007
mov ecx, 0xfbe80c3f
cmovne eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [0x10067ab0]
mov ecx, dword [0x10067ab4]
mov edx, ecx
not edx
or edx, eax
add edx, ecx
and eax, ecx
not eax
add eax, edx
add eax, 0x86533859
mov dword [edi], eax
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
jmp 0x1001300c
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0x1f9e75e3
mov ecx, 0xc4f8aac0
mov eax, 0x9a02a070
cmovl ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x10067710]
mov edi, dword [0x10067714]
mov edx, edi
not edx
lea ebx, [edi + edx*2]
or edx, ecx
sub edx, ebx
and ecx, edi
mov edi, dword [0x10071b30]
not ecx
add ecx, edx
add ecx, 0xa
cmp dword [0x10071b2c], ecx
setl byte [esi + 0xc]
lea edx, [edi - 1]
imul edx, edi
mov ecx, dword [0x10067718]
mov ebx, dword [0x1006771c]
mov eax, ecx
and eax, ebx
mov edi, ecx
xor edi, ebx
add edi, eax
or ecx, ebx
mov ebx, dword [esi + 4]
sub edi, ecx
and edx, 1
cmp edx, edi
mov eax, dword [esi]
mov dword [ebx], eax
sete al
setne cl
mov dl, byte [esi + 0xc]
or al, dl
and dl, cl
add dl, al
not al
add al, dl
add al, cl
test al, 1
jne 0x10014480
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0x1f9e75e3
mov eax, 0xc4f8aac0
mov ecx, 0x9a02a070
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x100130b4
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0x1f9e75e3
mov eax, 0xa676bc3e
mov ecx, 0x96290f23
cmove eax, ecx
mov dword [ebx], eax
cmp dword [0x10071b28], 0xa
mov ecx, dword [0x10071b24]
setl al
lea edx, [ecx - 1]
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
xor dl, cl
and al, cl
not dl
not al
add al, dl
test al, 1
jne 0x10014480
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [0x10067a70]
or ecx, dword [0x10067a74]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0x1f9e75e4
cmp eax, ecx
mov eax, 0xa676bc3e
mov ecx, 0x96290f23
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10013164
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [0x100677a8]
mov edi, dword [0x100677ac]
mov ebx, ecx
xor ebx, edi
mov edx, ecx
and ecx, edi
not edi
add edi, ebx
not edx
add edx, edi
not ecx
add ecx, ecx
sub edx, ecx
add edx, 0x36a078b9
cmp eax, edx
mov ecx, 0xa676bc3e
mov eax, 0x1aec5ec6
cmove ecx, eax
mov dword [esi], ecx
cmp dword [0x10071b20], 0xa
mov eax, dword [0x10071b1c]
setge dh
setl dl
lea edi, [eax - 1]
imul edi, eax
mov ebx, dword [0x100677b8]
mov eax, dword [0x100677bc]
mov dword [esi + 0x14], eax
mov ecx, ebx
or ecx, eax
mov eax, ecx
not eax
lea eax, [ecx + eax*2]
mov dword [esi + 0xc], eax
mov eax, ebx
mov ecx, dword [esi + 0x14]
xor eax, ecx
not eax
sub eax, dword [esi + 0xc]
and ebx, ecx
not ebx
add ebx, eax
and edi, 1
cmp edi, ebx
mov edi, dword [esi + 4]
mov eax, dword [esi]
mov dword [edi], eax
sete al
mov ecx, edx
xor cl, al
mov ah, dl
or dl, al
add ah, cl
add dl, ah
not cl
add cl, dl
add cl, dh
test cl, 1
jne 0x10014480
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0x36a078b9
mov eax, 0xa676bc3e
mov ecx, 0x1aec5ec6
cmove eax, ecx
mov dword [edi], eax
jmp 0x100131dd
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [0x10067730]
mov edx, dword [0x10067734]
mov edi, ecx
not edi
and edi, edx
and ecx, edx
not edx
add edx, edi
add ecx, edx
add ecx, 0x36a078ba
cmp eax, ecx
mov ecx, 0x54d5581c
mov eax, 0xae1fc511
cmovl ecx, eax
mov dword [esi + 0xc], ecx
mov eax, dword [0x10071b18]
cmp dword [0x10071b14], 0xa
setl byte [esi + 0x14]
mov ecx, eax
and ecx, 1
add ecx, eax
mov edx, eax
not edx
add edx, ecx
imul edx, eax
mov edi, dword [0x10067744]
mov ebx, edi
not ebx
mov ecx, dword [str._qI__]
mov dword [esi], ecx
and ecx, ebx
mov eax, dword [esi]
not eax
and eax, edi
sub ecx, eax
mov eax, dword [esi]
xor edi, eax
not edi
add edi, ecx
or ebx, eax
add ebx, ebx
not ebx
add ebx, edi
and edx, 1
cmp edx, ebx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
mov dword [eax], ecx
sete al
or al, byte [esi + 0x14]
jne 0x10014480
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov edi, dword [0x10067a50]
mov edx, dword [0x10067a54]
mov ecx, edi
not ecx
mov ebx, ecx
and ebx, edx
xor edi, edx
not edi
add edi, edi
lea edi, [edi + ebx*2]
or ecx, edx
add ecx, ecx
sub ecx, edi
add ecx, 0x36a078b9
cmp eax, ecx
mov eax, 0x54d5581c
mov ecx, 0xae1fc511
cmovl eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x100132a9
mov eax, dword [esi + 0x28]
mov edi, dword [esi + 0x30]
mov dword [eax], edi
mov eax, dword [eax]
push 0x1006e280
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1006e28d
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov dword [esi + 0xc], eax
mov ecx, dword [0x10067650]
mov edi, dword [0x10067654]
mov eax, ecx
not eax
mov edx, eax
and edx, edi
mov dword [esi], edx
mov edx, eax
or eax, edi
mov dword [esi + 0x14], eax
mov eax, edx
mov ebx, edx
xor edx, edi
mov dword [esi + 0x3c], edx
not edi
or eax, edi
add eax, dword [esi]
or edi, ecx
lea edx, [eax + edi]
add eax, edi
add eax, 1
not eax
lea edi, [edx + eax*2 + 1]
lea eax, [edx + eax*2]
add eax, 0x72bb319c
mov edx, eax
not edx
and edx, 0x72bb3199
lea edx, [edi + edx*2]
add edx, 0x72bb319b
xor eax, 0x72bb3199
add eax, eax
sub edx, eax
lea eax, [edi + edi]
add eax, 0xe5766336
or eax, 0xe5766332
lea edi, [edx + eax]
add eax, edx
add eax, 0xa7ce6b34
and ebx, 0xbb4c0019
mov edx, ecx
xor edx, 0x44b3ffe6
add edx, ebx
add edx, ecx
not ebx
add ebx, ebx
sub edx, ebx
add edx, 0x44b3ffe6
and ecx, 0x44b3ffe6
or ecx, edx
mov edx, ecx
xor edx, 0x44b3ffe6
mov ebx, ecx
or ebx, 0x44b3ffe6
sub edx, ebx
not ebx
add ebx, ebx
sub edx, ebx
mov ebx, ecx
xor ecx, 0xbb4c0019
add ecx, edx
not ebx
or ebx, 0xbb4c0019
add ebx, ecx
xor eax, 0xb4395659
lea eax, [eax + edi*2]
add eax, 0x4f9cd668
lea ecx, [edi + edi]
add ecx, 0x4f9cd668
or ecx, 0x6872acb2
sub eax, ecx
add eax, ebx
mov ecx, eax
and ecx, 0xb4395659
mov edx, eax
not edx
and edx, 0xb4395659
sub ecx, edx
xor eax, 0xb4395659
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xb4395659
mov ecx, dword [esi]
lea ecx, [ecx + ecx*2]
mov edi, dword [esi + 0x14]
not edi
lea ecx, [ecx + edi*2]
mov ebx, dword [esi + 0x3c]
mov edi, ebx
not edi
add edi, edi
sub ecx, edi
or ecx, ebx
mov edi, ecx
not edi
and edi, eax
add edx, edi
add edx, 0xb4395659
or ecx, eax
sub edx, ecx
imul eax, edx, 0xc35a609d
lea ecx, [eax + 0x28b46976]
mov edx, ecx
not edx
and ecx, 0x199ecbe7
add eax, ecx
add eax, 0x28b46976
and edx, 0x199ecbe7
add edx, eax
imul eax, edx, 0xecbf25b5
lea ecx, [eax + 0x753b2137]
mov edx, ecx
or edx, 0x2e533d54
add eax, edx
add eax, 0x753b2137
not ecx
or ecx, 0x2e533d54
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xb6303861
mov ecx, eax
and ecx, 0xd1acc2ab
add ecx, edx
add ecx, 0xb6303861
or eax, 0x2e533d54
sub ecx, eax
add ecx, 0x5ca67aa8
cmp dword [esi + 0xc], ecx
mov eax, 0x7ad0731f
mov ecx, 0x36a078b9
cmove eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [0x10067938]
mov ecx, dword [0x1006793c]
mov edx, eax
not edx
mov edi, edx
and edi, ecx
add edi, eax
or edx, ecx
not ecx
add ecx, edi
lea eax, [edx + ecx]
add eax, 0x86533859
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [0x10067940]
mov ecx, dword [0x10067944]
mov edi, eax
xor edi, ecx
mov edx, eax
sub edx, edi
mov edi, ecx
not edi
or edi, eax
sub edx, edi
and eax, ecx
not eax
add eax, edx
add eax, 0xa
cmp dword [0x10071b10], eax
mov eax, dword [0x10071b0c]
setl cl
mov edx, eax
or edx, 1
add edx, eax
add edx, eax
mov edi, eax
not edi
add edx, edi
add edx, 0xffffffff
imul edx, eax
test dl, 1
sete al
or al, cl
mov eax, dword [esi + 0x18]
mov dword [eax], 0
jne 0x10014480
mov eax, dword [esi + 0x28]
mov edi, dword [esi + 0x30]
mov dword [eax], edi
mov eax, dword [eax]
push 0x1006e280
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1006e28d
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov dword [esi + 0xc], eax
mov edx, dword [0x10067650]
mov ebx, dword [0x10067654]
mov dword [esi], ebx
mov edi, edx
not edi
not ebx
mov eax, edx
and eax, ebx
mov ecx, edi
or ecx, ebx
add ecx, eax
add ecx, dword [esi]
and ebx, edi
lea eax, [ecx + ebx]
add ecx, ebx
add ecx, 1
not ecx
lea ebx, [eax + ecx*2 + 1]
lea eax, [eax + ecx*2]
add eax, 0x72bb319c
mov ecx, eax
not ecx
and ecx, 0x8d44ce66
add ecx, ebx
add ecx, 0x72bb319b
and eax, 0x8d44ce66
add eax, ecx
mov ecx, edi
and ecx, 0xbb4c0019
and edx, 0x44b3ffe6
or edx, ecx
mov ecx, eax
and ecx, 0x4bc6a9a6
lea ecx, [eax + ecx*2]
mov ebx, eax
xor ebx, 0x4bc6a9a6
add ebx, ecx
sub ebx, eax
xor edx, 0x44b3ffe6
lea eax, [ebx + 1]
not eax
mov ecx, eax
and ecx, edx
add ecx, ebx
add ecx, 1
sub ecx, eax
or eax, edx
add eax, ecx
add eax, 0xb4395659
mov ebx, edi
mov ecx, dword [esi]
and ebx, ecx
xor edi, ecx
mov ecx, ebx
or ecx, edi
mov edx, ecx
not edx
lea edx, [ecx + edx*2]
mov ecx, ebx
xor ecx, edi
not ecx
add ecx, ecx
sub edx, ecx
not edi
sub edx, edi
sub edx, edi
or edi, ebx
lea ecx, [edx + edi*2]
mov edx, eax
sub edx, ecx
mov edi, eax
xor edi, ecx
add edi, edx
sub edi, ecx
mov edx, eax
not edx
add edx, edi
and eax, ecx
not eax
add eax, eax
sub edx, eax
imul ecx, edx, 0xc35a609d
add ecx, 0x655a08d9
mov edx, ecx
or edx, 0xe6613418
mov eax, ecx
sub eax, edx
not edx
add edx, edx
sub eax, edx
mov edx, ecx
not edx
xor ecx, 0x199ecbe7
add ecx, eax
or edx, 0x199ecbe7
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0xe6613418
not ecx
lea eax, [ecx + eax*2]
add eax, 0xccc26830
imul ecx, eax, 0xecbf25b5
add ecx, 0x6c9549f3
mov eax, ecx
and eax, 0x12d6b308
mov edx, ecx
not edx
and edx, 0x12d6b308
sub eax, edx
xor ecx, 0x12d6b308
add ecx, eax
add ecx, 0x12d6b308
mov eax, ecx
or eax, 0xd1acc2ab
sub eax, ecx
not ecx
sub eax, ecx
sub eax, ecx
or ecx, 0xd1acc2ab
add eax, ecx
add eax, 0x5ca67aa8
cmp dword [esi + 0xc], eax
mov eax, 0x7ad0731f
mov ecx, 0x36a078b9
cmove eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [esi + 0x18]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov dword [eax], 0x86533857
jmp 0x1001338c
mov eax, dword [0x100676e0]
mov edx, dword [0x100676e4]
mov ecx, eax
not ecx
mov edi, ecx
and edi, edx
mov ebx, eax
or ebx, edx
sub ebx, edi
or ecx, edx
add ecx, ebx
mov dword [esi], ecx
and eax, edx
mov dword [esi + 0xc], eax
mov ebx, dword [0x100676e8]
mov edi, dword [0x100676ec]
mov eax, ebx
and eax, edi
mov edx, ebx
or edx, edi
not edx
add edx, eax
xor ebx, edi
lea eax, [ebx + edx]
add eax, 0xb
cmp dword [0x10071b08], eax
mov eax, dword [0x10071b04]
setl byte [esi + 0x14]
lea edi, [eax - 1]
imul edi, eax
mov edx, dword [0x100676f0]
mov ebx, edx
not ebx
mov ecx, dword [0x100676f4]
mov eax, ebx
and eax, ecx
xor edx, ecx
not edx
add edx, edx
lea eax, [edx + eax*2]
or ebx, ecx
add ebx, ebx
sub ebx, eax
and edi, 1
cmp edi, ebx
mov ebx, dword [esi + 4]
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
not eax
mov ecx, dword [esi]
lea eax, [eax + ecx - 0x5e46052a]
mov dword [ebx], eax
sete al
or al, byte [esi + 0x14]
jne 0x10014480
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov eax, dword [0x10067a40]
mov ecx, dword [0x10067a44]
mov edx, eax
and edx, ecx
mov edi, eax
or edi, ecx
not edi
add edi, edx
xor eax, ecx
add eax, edi
add eax, 0xa1b9fad5
mov dword [ebx], eax
jmp 0x100137b9
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0x7ad0731f
mov ecx, 0xe9a415ca
mov eax, 0xb56d9608
cmovl ecx, eax
mov dword [esi], ecx
mov eax, dword [0x10067764]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10071b00], eax
mov eax, dword [0x10071afc]
setge ch
setl cl
lea edi, [eax + 1]
imul edi, eax
mov edx, dword [0x10067768]
mov eax, dword [str._DTk]
mov ebx, edx
or ebx, eax
not ebx
add ebx, edx
not eax
or eax, edx
sub ebx, eax
and edi, 1
cmp edi, ebx
mov edi, dword [esi + 4]
mov eax, dword [esi]
mov dword [edi], eax
sete al
mov edx, ecx
or dl, al
add dl, al
xor cl, al
not cl
add cl, dl
add cl, ch
test cl, 1
jne 0x10014480
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0x7ad0731f
mov eax, 0xe9a415ca
mov ecx, 0xb56d9608
cmovl eax, ecx
mov dword [edi], eax
jmp 0x10013894
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0x7ad0731f
mov eax, 0xa676bc3e
mov ecx, 0xb22e5c10
cmove eax, ecx
mov dword [edi], eax
mov eax, dword [0x10067788]
mov ecx, dword [0x1006778c]
mov edx, ecx
not edx
and edx, eax
not eax
or eax, ecx
add eax, edx
add eax, 0xb
mov ecx, dword [0x10071af8]
cmp dword [0x10071af4], eax
setl al
mov edx, ecx
not edx
add edx, ecx
add edx, ecx
add edx, 2
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10014480
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0x7ad0731f
mov eax, 0xa676bc3e
mov ecx, 0xb22e5c10
cmove eax, ecx
mov dword [edi], eax
jmp 0x1001392f
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [0x100677f8]
mov edx, dword [0x100677fc]
mov edi, ecx
not edi
mov ebx, edi
or ebx, edx
sub edi, ebx
mov ebx, dword [esi + 4]
and ecx, edx
add ecx, edi
add ecx, 0xfbe80c3f
cmp eax, ecx
mov eax, 0x57586c1f
mov ecx, 0x45497591
cmovl eax, ecx
mov dword [ebx], eax
mov ecx, dword [0x10067800]
mov edx, dword [0x10067804]
mov eax, edx
not eax
and eax, ecx
add eax, edx
or ecx, edx
sub eax, ecx
mov ecx, dword [0x10071af0]
add eax, 0xa
cmp dword [0x10071aec], eax
setl dl
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
or cl, dl
and dl, al
add dl, cl
not cl
add cl, dl
add cl, al
test cl, 1
jne 0x10014480
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [0x10067a78]
mov edx, dword [0x10067a7c]
mov edi, ecx
not edi
and edi, edx
or edx, ecx
not edx
add edx, edi
add ecx, edx
add ecx, 0xfbe80c40
cmp eax, ecx
mov eax, 0x57586c1f
mov ecx, 0x45497591
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x100139a8
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov edx, dword [0x10067820]
mov edi, dword [0x10067824]
mov ecx, edi
not ecx
and ecx, edx
add ecx, edi
or edx, edi
sub ecx, edx
add ecx, 0x4b12e6a
cmp eax, ecx
mov ecx, 0xc3481dab
mov eax, 0xaf29b507
cmovl ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x10067828]
mov edx, dword [0x1006782c]
mov edi, ecx
not edi
mov eax, edi
and eax, edx
add eax, eax
xor ecx, edx
sub ecx, eax
add ecx, edx
mov eax, dword [0x10071ae8]
add ecx, edi
add ecx, 0xb
cmp dword [0x10071ae4], ecx
setge byte [esi + 0xc]
setl byte [esi + 0x14]
mov edi, eax
not edi
add edi, 0xfffffffe
imul edi, eax
mov ebx, dword [0x10067830]
mov edx, dword [0x10067834]
mov eax, ebx
xor eax, edx
mov ecx, ebx
sub ecx, eax
mov eax, edx
not eax
or eax, ebx
sub ecx, eax
and ebx, edx
not ebx
add ebx, ecx
and edi, 1
cmp edi, ebx
mov edi, dword [esi + 4]
mov eax, dword [esi]
mov dword [edi], eax
setne al
sete cl
mov ah, byte [esi + 0x14]
or cl, ah
mov edx, ecx
not dl
add dl, cl
or al, ah
add al, dl
add al, byte [esi + 0xc]
add al, 1
test al, 1
jne 0x10014480
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0x4b12e6a
mov eax, 0xc3481dab
mov ecx, 0xaf29b507
cmovl eax, ecx
mov dword [edi], eax
jmp 0x10013a66
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esi], eax
mov edx, dword [0x10067848]
mov edi, dword [0x1006784c]
mov ecx, edi
not ecx
mov ebx, edx
and ebx, ecx
add ebx, ebx
mov eax, edx
xor eax, edi
sub eax, ebx
or ecx, edx
add ecx, eax
not edx
or edx, edi
sub ecx, edx
add ecx, 0x4b12e6a
cmp dword [esi], ecx
mov eax, 0xa676bc3e
mov ecx, 0x893c7bc4
cmove eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [0x10067850]
or eax, dword [0x10067854]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10071ae0], eax
mov eax, dword [0x10071adc]
setge cl
setl dl
lea ebx, [eax + 1]
imul ebx, eax
test bl, 1
sete al
or al, dl
add al, dl
add al, cl
add al, 1
test al, 1
jne 0x10014480
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [0x10067a88]
mov edi, dword [0x10067a8c]
mov edx, edi
not edx
lea ebx, [edi + edx*2]
or edx, ecx
sub edx, ebx
and ecx, edi
not ecx
add ecx, edx
add ecx, 0x4b12e6a
cmp eax, ecx
mov eax, 0xa676bc3e
mov ecx, 0x893c7bc4
cmove eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x10013b46
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [0x10067870]
or ecx, dword [0x10067874]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xfbe80c40
cmp eax, ecx
mov eax, 0xa676bc3e
mov ecx, 0x423242f7
cmove eax, ecx
mov dword [ebx], eax
mov eax, dword [0x10071ad8]
cmp dword [0x10071ad4], 0xa
setl cl
mov edx, eax
or edx, 1
mov edi, eax
sub edi, edx
add edi, eax
mov edx, eax
not edx
add edx, edi
add edx, 0xffffffff
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x10014480
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [0x10067a90]
mov edx, dword [0x10067a94]
mov edi, ecx
or ecx, edx
not edx
and edi, edx
not ecx
add ecx, ecx
lea ecx, [ecx + edi*2]
add edx, edx
sub ecx, edx
add ecx, 0xfbe80c3f
cmp eax, ecx
mov eax, 0xa676bc3e
mov ecx, 0x423242f7
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10013c0f
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [0x10067898]
mov edx, dword [0x1006789c]
mov edi, ecx
or ecx, edx
not edx
and edi, edx
not ecx
add ecx, ecx
lea ecx, [ecx + edi*2]
add edx, edx
sub ecx, edx
add ecx, 0xa032d007
cmp eax, ecx
mov eax, 0xa676bc3e
mov ecx, 0xf37f2de5
cmove eax, ecx
mov dword [ebx], eax
mov eax, dword [0x100678a0]
mov edx, dword [0x100678a4]
mov ecx, eax
not ecx
mov edi, ecx
and edi, edx
mov ebx, eax
or ebx, edx
sub ebx, edi
or ecx, edx
add ecx, ebx
and eax, edx
not eax
add eax, ecx
add eax, 0xc
mov ecx, dword [0x10071ad0]
cmp dword [0x10071acc], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10014480
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [0x10067a98]
mov edx, dword [0x10067a9c]
mov edi, ecx
and edi, edx
mov ebx, ecx
xor ebx, edx
add ebx, edi
or ecx, edx
sub ebx, ecx
add ebx, 0xa032d007
cmp eax, ebx
mov ebx, dword [esi + 4]
mov eax, 0xa676bc3e
mov ecx, 0xf37f2de5
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10013cb1
mov eax, dword [0x100678c0]
mov dword [esi + 0xc], eax
mov ecx, dword [0x100678c4]
mov edx, eax
not edx
and edx, ecx
or ecx, eax
not ecx
add ecx, edx
mov ebx, dword [0x10071ac8]
mov edx, ebx
not edx
lea edi, [ebx + ebx]
lea eax, [edx + edi]
add eax, 0xf227182c
cmp dword [0x10071ac4], 0xa
setl dl
imul eax, ebx
mov dword [esi + 0x14], eax
mov ebx, dword [0x100678d0]
mov edi, dword [0x100678d4]
mov eax, ebx
mov dword [esi], ebx
or ebx, edi
mov eax, edi
not eax
and dword [esi], eax
not ebx
add ebx, ebx
mov edi, dword [esi]
lea ebx, [ebx + edi*2]
add eax, eax
sub ebx, eax
mov eax, dword [esi + 0x14]
and eax, 1
cmp eax, ebx
mov ebx, dword [esi + 4]
mov eax, dword [esi + 0xc]
lea eax, [eax + ecx + 0xfe7968c]
mov dword [ebx], eax
sete al
mov ecx, edx
and cl, al
xor dl, al
add dl, cl
test dl, 1
jne 0x10014480
mov eax, dword [0x10067aa0]
mov ecx, dword [0x10067aa4]
mov edx, eax
or eax, ecx
not ecx
and edx, ecx
not eax
add eax, edx
sub eax, ecx
add eax, 0xfe7968b
mov dword [ebx], eax
jmp 0x10013d73
mov edx, dword [0x100678e8]
mov ecx, dword [0x100678ec]
mov edi, edx
or edi, ecx
sub edi, ecx
mov eax, edx
xor eax, ecx
not eax
add eax, edi
not ecx
or ecx, edx
sub eax, ecx
add eax, 0x86533857
mov ecx, dword [0x100678f0]
mov edx, dword [0x100678f4]
mov edi, ecx
not edi
and edi, edx
and ecx, edx
not edx
add edx, edi
mov ebx, dword [0x10071ac0]
add ecx, edx
add ecx, 0xb
cmp dword [0x10071abc], ecx
setge byte [esi]
setl byte [esi + 0xc]
lea edi, [ebx - 1]
imul edi, ebx
mov edx, dword [0x100678f8]
mov ecx, dword [0x100678fc]
mov ebx, edx
and ebx, ecx
sub ebx, ecx
or ecx, edx
add ecx, ebx
mov ebx, dword [esi + 4]
sub ecx, edx
and edi, 1
cmp edi, ecx
mov dword [ebx], eax
sete al
setne cl
mov dl, byte [esi + 0xc]
and cl, dl
mov ah, byte [esi]
and ah, al
or ah, cl
mov ecx, edx
or cl, al
add cl, ah
xor dl, al
sub cl, dl
test cl, 1
jne 0x10014480
mov dword [ebx], 0x86533857
jmp 0x10013e27
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x30]
mov dword [eax], ecx
mov eax, dword [eax]
push dword [eax]
call fcn.10055f50
add esp, 4
mov ecx, dword [esi + 0x24]
mov dword [ecx], eax
cmp dword [ecx], 0
mov eax, 0x1f9e75e3
mov ecx, 0x36a078b9
cmove eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov edi, dword [0x10071ab8]
cmp dword [0x10071ab4], 0xa
setge al
setl cl
mov edx, edi
not edx
lea edx, [edx + edi*2]
add edx, 2
imul edx, edi
test dl, 1
sete ah
and dl, cl
or cl, ah
not cl
add cl, dl
or al, ah
add al, cl
mov ecx, dword [esi + 0x18]
mov dword [ecx], 0
mov dword [ebx], 0x86533857
test al, 1
jne 0x10014480
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x30]
mov dword [eax], ecx
mov eax, dword [eax]
push dword [eax]
call fcn.10055f50
add esp, 4
mov ecx, dword [esi + 0x24]
mov dword [ecx], eax
cmp dword [ecx], 0
mov eax, 0x1f9e75e3
mov ecx, 0x36a078b9
cmove eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov ecx, dword [0x10067ac0]
mov eax, dword [0x10067ac4]
mov edx, eax
not edx
mov edi, ecx
and edi, edx
xor eax, ecx
not eax
add eax, edi
or edx, ecx
sub eax, edx
add eax, 0x86533857
mov dword [ebx], eax
mov eax, dword [esi + 0x18]
mov dword [eax], 0
jmp 0x10013ed3
push 0x1006e280
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1006e29b
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [esi + 0x2c]
mov ecx, dword [edi]
push 0
push dword [esi + 0x34]
push dword [ecx]
mov ecx, dword [esi + 0x24]
push dword [ecx]
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov eax, dword [edi]
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1006765c]
mov edx, eax
not edx
mov ecx, edx
and ecx, 0x327bdb60
mov edi, eax
xor edi, 0xcd84249f
lea ecx, [edi + ecx*2]
or edx, 0x327bdb60
sub ecx, edx
mov edi, eax
and edi, 0xcd84249f
mov edx, edi
not edx
or edi, ecx
and ecx, edx
lea ecx, [edi + ecx*2]
not edi
lea ecx, [ecx + edi*2]
add edx, edx
sub ecx, edx
mov edx, ecx
not edx
mov edi, edx
and edi, 0xcd84249f
mov ebx, ecx
xor ebx, 0xcd84249f
sub ebx, edi
or ecx, 0xcd84249f
add ecx, ebx
mov edi, edx
or edi, 0xcd84249f
add edi, ecx
or edx, 0x327bdb60
lea ecx, [edi + edx]
add edx, edi
add edx, 2
lea ecx, [ecx + ecx*2 + 6]
not edx
lea ecx, [ecx + edx*2]
lea edx, [ecx + eax]
add eax, ecx
add eax, 2
or eax, 0x37cbf0b4
add edx, eax
not eax
lea ecx, [edx + eax]
add eax, edx
add eax, 0x37cbf0b7
mov edx, eax
not edx
or edx, eax
and edx, 0xc95f8745
lea eax, [edx + ecx]
add eax, 0x37cbf0b7
imul eax, eax, 0x48375fc5
lea ecx, [eax - 0x37cc7b]
mov edx, ecx
not edx
and ecx, 0x3d2c0ad9
lea eax, [eax + ecx*2]
add eax, 0xffc83385
and edx, 0x3d2c0ad9
lea eax, [eax + edx*2]
imul eax, eax, 0x70a6c70d
lea ecx, [eax - 0x5fba74f8]
mov edx, ecx
not edx
and ecx, 0xba7122ab
add eax, ecx
add eax, 0xa0458b08
and edx, 0xba7122ab
lea ecx, [eax + edx]
add eax, edx
add eax, 0x4a15b797
mov edx, eax
not edx
or eax, 0xba7122ab
add eax, ecx
add eax, 0x4a15b797
or edx, 0xba7122ab
add eax, edx
add eax, 2
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [esi], eax
mov edi, dword [0x10067988]
mov edx, dword [0x1006798c]
mov eax, edi
or eax, edx
sub eax, edx
mov ecx, edi
xor ecx, edx
not ecx
add ecx, eax
not edx
or edx, edi
sub ecx, edx
mov edx, dword [0x10067990]
mov eax, edx
not eax
mov edi, dword [0x10067994]
and eax, edi
and edx, edi
not edi
add edi, eax
add ecx, 0x86533857
lea eax, [edx + edi]
add eax, 0xb
mov ebx, dword [0x10071ab0]
cmp dword [0x10071aac], eax
setge byte [esi + 0xc]
setl byte [esi + 0x14]
lea edi, [ebx - 1]
imul edi, ebx
mov edx, dword [0x10067998]
mov eax, dword [0x1006799c]
mov ebx, edx
and ebx, eax
sub ebx, eax
or eax, edx
add eax, ebx
sub eax, edx
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0x18]
mov edx, dword [esi]
mov dword [eax], edx
mov eax, dword [esi + 4]
mov dword [eax], ecx
sete al
setne cl
mov dl, byte [esi + 0x14]
and cl, dl
mov ah, byte [esi + 0xc]
and ah, al
or ah, cl
mov ecx, edx
or cl, al
add cl, ah
xor dl, al
sub cl, dl
test cl, 1
jne 0x10014480
push 0x1006e280
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1006e29b
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [esi + 0x2c]
mov ecx, dword [edi]
push 0
push dword [esi + 0x34]
push dword [ecx]
mov ecx, dword [esi + 0x24]
push dword [ecx]
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov eax, dword [edi]
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov ecx, dword [0x1006765c]
mov eax, ecx
sub eax, ecx
sub eax, ecx
add eax, ecx
add eax, ecx
mov edx, ecx
not edx
and ecx, 0xcd84249f
mov ebx, edx
or ebx, 0xcd84249f
lea edi, [ecx + edx]
sub edi, ebx
add edi, ecx
mov ecx, edi
not ecx
and ecx, edx
and ecx, 0x327bdb60
add ecx, edi
xor ecx, 0xcd84249f
add ecx, eax
lea eax, [ecx + ecx]
neg ecx
lea edx, [ecx*4]
sub ecx, edx
sub ecx, eax
mov eax, ecx
and eax, 0xc8340f4b
add eax, ecx
or ecx, 0x37cbf0b4
sub eax, ecx
add eax, 0x6f97e168
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x36a078ba
add edx, edx
mov edi, eax
sub edi, edx
xor eax, 0x36a078ba
add eax, edi
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x6d40f175
not eax
mov ecx, eax
and ecx, 0x37cbf0b4
lea ecx, [ecx + edx*2]
add ecx, 0xda81e2ea
or eax, 0x37cbf0b4
add eax, ecx
imul ecx, eax, 0x48375fc5
lea eax, [ecx + 0x5e5952bd]
mov edx, eax
or edx, 0x42d3f526
add ecx, edx
add ecx, 0x5e5952bd
mov edx, eax
or edx, 0xbd2c0ad9
add edx, ecx
not eax
add eax, edx
imul eax, eax, 0x70a6c70d
add eax, 0x67e46e80
mov ecx, eax
and ecx, 0x41080311
sub ecx, eax
mov edx, eax
xor edx, 0xbef7fcee
add edx, ecx
or eax, 0x41080311
lea eax, [eax + eax*2]
add eax, edx
add eax, 0xf7591979
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov ecx, dword [str._86cQ2]
or ecx, dword [0x10067acc]
mov edx, dword [esi + 0x18]
mov dword [edx], eax
mov eax, ecx
not eax
add eax, ecx
add eax, 0x86533858
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x10013faa
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi], eax
push 0x1006e280
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1006e2a4
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov eax, dword [0x10071aa8]
mov ecx, dword [0x100679c4]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xb
cmp dword [0x10071aa4], ecx
setge ch
setl cl
lea edx, [eax + 1]
imul edx, eax
mov edi, dword [0x100679c8]
mov eax, dword [0x100679cc]
mov ebx, edi
or ebx, eax
not ebx
add ebx, edi
not eax
or eax, edi
sub ebx, eax
and edx, 1
cmp edx, ebx
mov ebx, dword [esi + 4]
mov eax, dword [0x100679b4]
mov edx, eax
not edx
lea eax, [eax + edx - 0x417f3c0]
mov edx, dword [esi + 0x10]
mov dword [edx], eax
mov eax, dword [esi + 0x1c]
mov edx, dword [esi]
mov dword [eax], edx
sete al
mov edx, ecx
or dl, al
add dl, al
xor cl, al
not cl
add cl, dl
add cl, ch
mov dword [ebx], 0x86533857
test cl, 1
jne 0x10014480
mov eax, dword [esi + 0x18]
mov edi, dword [eax]
push 0x1006e280
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1006e2a4
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov eax, dword [esi + 0x10]
mov dword [eax], 0xfbe80c3f
mov eax, dword [esi + 0x1c]
mov dword [eax], edi
mov dword [ebx], 0x86533857
jmp 0x10014318
mov ecx, dword [0x10067a00]
mov edx, dword [0x10067a04]
mov eax, ecx
and eax, edx
not edx
add eax, edx
or edx, ecx
sub eax, edx
add eax, 0xd9586d52
mov dword [ebx], eax
mov eax, dword [0x10067a08]
mov edx, dword [0x10067a0c]
mov edi, eax
xor edi, edx
mov ecx, eax
and eax, edx
not edx
add edx, edi
not ecx
add ecx, edx
not eax
add eax, eax
sub ecx, eax
add ecx, 0xa
cmp dword [0x10071aa0], ecx
mov ecx, dword [0x10071a9c]
setl al
lea edx, [ecx - 1]
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
xor dl, cl
and al, cl
not dl
not al
add al, dl
test al, 1
je 0x100144e1
nop word cs:[eax + eax]
nop
mov eax, dword [0x10067a28]
mov edx, dword [0x10067a2c]
lea edi, [eax + eax]
mov ecx, edx
not ecx
or ecx, eax
mov ebx, eax
and eax, edx
sub edx, edi
add ecx, edx
not ebx
add ebx, ebx
sub ecx, ebx
mov edx, dword [0x10071a98]
not eax
add eax, ecx
add eax, 0xa
cmp dword [0x10071a94], eax
setl al
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
mov ah, al
and ah, cl
mov dh, al
or dh, dl
xor dl, al
or al, cl
add dh, ah
not dl
add dl, dh
add al, dl
test al, 1
je 0x10014480
jmp 0x10012720
mov eax, dword [0x10067ae0]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xd9586d53
mov dword [ebx], eax
jmp 0x10014406
mov edx, dword [0x10071a90]
cmp dword [0x10071a8c], 0xa
setl byte [esi + 4]
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x100679ec]
mov edi, edx
not edi
mov eax, dword [0x100679e8]
mov ebx, eax
and ebx, edi
xor edx, eax
sub edx, ebx
or edi, eax
lea eax, [edx + edi]
add eax, 1
and ecx, 1
cmp ecx, eax
sete al
or al, byte [esi + 4]
mov ecx, dword [esi + 0x1c]
mov edi, dword [ecx]
cmp al, 1
jne 0x10014500
mov ecx, dword [esi + 0x40]
xor ecx, ebp
call fcn.10052ff0
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret