Function at 0x10014ab0
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 [0x10076980]
xor eax, ebp
mov dword [esi + 0x40], eax
mov eax, dword [0x1006f670]
mov ecx, dword [0x1006f674]
mov edx, ecx
not edx
lea edi, [ecx + edx*2]
or edx, eax
sub edi, edx
and eax, ecx
add eax, edi
add eax, 0xb
cmp dword [0x10079c38], eax
mov edi, dword [0x10079c34]
setge al
setl ah
lea edx, [edi + 1]
imul edx, edi
mov edi, dword [0x1006f678]
mov ebx, dword [0x1006f67c]
mov ecx, edi
or edi, ebx
not ebx
and ecx, ebx
not edi
add edi, ecx
sub edi, ebx
and edx, 1
cmp edx, edi
setne cl
sete dl
mov ch, ah
or cl, ah
xor ah, dl
or ch, dl
add ch, ah
add cl, ch
or al, dl
add al, cl
add al, 1
test al, 1
jne 0x10014e47
push eax
mov dword [esi + 0xc], esp
push eax
mov dword [esi + 0x30], 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 + 0x24], eax
mov esp, eax
push eax
mov dword [esi + 0x34], esp
push 0x10076238
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1007622c
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 0x1c
movaps xmm0, xmmword [0x100671b0]
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 ecx, dword [0x1006f650]
mov dword [esi], ecx
lea eax, [ecx + ecx]
mov edx, ecx
not edx
mov ebx, edx
mov edi, edx
mov dword [esi + 0x14], edx
sub ebx, eax
mov edx, dword [0x1006f654]
mov dword [esi + 8], edx
add ebx, ecx
add ebx, ecx
mov eax, edx
not eax
mov dword [esi + 4], eax
or ebx, eax
mov eax, ebx
not eax
add ebx, eax
add ebx, eax
mov ecx, edi
and ecx, edx
mov eax, dword [esi]
xor eax, edx
add ecx, eax
not eax
add eax, ecx
mov ecx, edi
or ecx, edx
sub eax, ecx
mov edi, dword [esi]
and edi, edx
mov ecx, eax
not ecx
mov edx, edi
and edx, ecx
mov dword [esi + 0x1c], edx
mov edx, edi
xor edx, eax
sub edx, dword [esi + 0x1c]
or eax, edi
add eax, edx
or ecx, edi
lea edx, [eax + ecx]
add eax, ecx
add eax, 1
not eax
lea ecx, [eax + edx]
add ecx, 1
mov edx, ecx
xor edx, eax
not edx
sub edx, ecx
or eax, ecx
add eax, edx
add eax, ebx
mov edx, dword [esi + 0x14]
and edx, 0x835dfb9c
mov ecx, dword [esi]
and ecx, 0x7ca20463
or ecx, edx
not eax
mov edi, dword [esi + 4]
and edi, 0x835dfb9c
mov edx, dword [esi + 8]
and edx, 0x7ca20463
or edx, edi
xor edx, ecx
mov ecx, edx
mov edi, edx
not ecx
lea edx, [ecx + ecx*2]
add edx, edi
sub edx, ecx
add edx, 1
mov ecx, edx
not ecx
sub edx, ecx
sub edx, ecx
add edx, ecx
add edx, ecx
mov ecx, eax
or ecx, 0x50c8772c
or eax, 0xaf3788d3
lea edi, [ecx + eax]
add eax, ecx
add eax, 0xaf3788d5
lea ecx, [edi + edi]
add ecx, 0x5e6f11aa
mov edi, eax
xor edi, edx
sub ecx, edi
not edi
add edi, edi
sub ecx, edi
not eax
or eax, edx
lea eax, [ecx + eax*2]
mov ecx, eax
xor ecx, 0x50c8772c
add ecx, eax
mov edx, eax
or edx, 0x50c8772c
sub ecx, edx
not eax
sub ecx, eax
or eax, 0x50c8772c
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x50c8772c
mov ecx, eax
not ecx
and ecx, 0xda0d515f
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + edx*2]
add ecx, 0xa190ee58
mov edx, eax
xor edx, 0x5a0d515f
add edx, edx
sub ecx, edx
and eax, 0x25f2aea0
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x4be55d41
mov ecx, eax
and ecx, 0x1ac93996
mov edi, eax
and edi, 0xe536c669
sub ecx, edi
lea ecx, [ecx + edx*2]
add ecx, 0x97caba82
mov edx, eax
not edx
and edx, 0x6536c669
lea ecx, [ecx + edx*2]
xor eax, 0x6536c669
add eax, eax
sub ecx, eax
lea eax, [ecx + 0x1ac93996]
or eax, 0x25f2aea0
mov edx, eax
not edx
add edx, eax
lea eax, [ecx + edx]
add eax, 0x1ac93996
imul ecx, eax, 0xfb0a22e1
lea eax, [ecx - 0x4cb297bf]
mov edx, eax
and edx, 0x3c117e21
add edx, ecx
add edx, 0xb34d6841
mov ecx, eax
or ecx, 0xc3ee81de
sub edx, ecx
not ecx
add ecx, edx
not eax
or eax, 0xc3ee81de
sub ecx, eax
imul ecx, ecx, 0xbe02a121
mov eax, 0xf6d8a462
sub eax, ecx
mov edx, eax
and edx, 0x9275b9d
sub edx, ecx
add ecx, 0x9275b9d
and ecx, 0xf6d8a462
add ecx, edx
xor eax, 0xf6d8a462
sub eax, ecx
add eax, 0x124eb73c
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
push eax
mov dword [esi + 0x14], esp
push eax
mov dword [esi + 0x1c], esp
push eax
mov edi, esp
mov edx, dword [0x1006f680]
mov ecx, dword [0x1006f684]
mov eax, edx
or eax, ecx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
add eax, 0x5f6dcba
mov dword [esi], edi
mov dword [edi], eax
mov edx, dword [0x10079c30]
cmp dword [0x10079c2c], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1006f690]
mov edi, edx
xor edi, edx
not edi
mov ebx, dword [0x1006f694]
and edi, ebx
xor edi, edx
xor edx, ebx
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
setne dl
mov ah, al
and ah, dl
mov ch, al
xor ch, cl
add ch, ah
mov ah, al
or ah, cl
add ah, ch
add ah, dl
and al, cl
not al
add al, ah
test al, 1
jne 0x10016240
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 0x10076238
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1007622c
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 0x1c
movaps xmm0, xmmword [0x100671b0]
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 + 0xc], esp
mov edx, dword [0x1006f650]
mov eax, edx
not eax
mov dword [esi + 4], eax
add eax, edx
add eax, edx
lea ecx, [edx + edx]
mov dword [esi + 0x14], ecx
sub eax, ecx
mov ebx, dword [0x1006f654]
mov edi, ebx
not edi
mov dword [esi + 0x10], edi
mov ecx, eax
not ecx
or ecx, eax
and ecx, edi
sub ecx, edi
or eax, edi
add eax, ecx
mov ecx, eax
not ecx
add ecx, ecx
add ecx, eax
mov dword [esi + 0x20], ecx
mov eax, edx
mov dword [esi], ebx
and eax, ebx
mov edi, edx
xor edi, ebx
add edi, eax
mov ecx, dword [esi + 4]
add edi, ecx
or ecx, dword [esi]
sub edi, ecx
mov ecx, eax
or ecx, edi
mov dword [esi + 0x1c], ecx
mov ebx, edi
not ebx
or ebx, eax
lea ecx, [eax + eax]
mov dword [esi + 8], ecx
not eax
or eax, edi
sub edi, dword [esi + 8]
mov ecx, dword [esi + 0x1c]
add edi, ecx
add edi, ecx
lea ecx, [edi + ebx*2]
sub ecx, eax
lea eax, [ecx + 1]
lea edi, [ecx + ecx]
add edi, 2
mov ecx, eax
sub eax, edi
not ecx
sub eax, ecx
lea edi, [eax - 1]
mov dword [esi + 8], edi
mov ebx, ecx
xor ebx, edi
lea edi, [ebx + ebx]
neg edi
add edi, eax
add edi, 0xffffffff
mov dword [esi + 0x1c], edi
mov edi, ecx
or edi, dword [esi + 8]
add edi, dword [esi + 0x1c]
not ebx
add ebx, ebx
sub edi, ebx
neg eax
or eax, ecx
add eax, edi
and ecx, dword [esi + 8]
not ecx
add ecx, eax
add ecx, dword [esi + 0x20]
mov dword [esi + 8], ecx
mov eax, edx
and eax, 0x7ca20463
mov ecx, edx
xor ecx, 0x7ca20463
add ecx, eax
mov edi, dword [esi + 0x14]
or edi, 0xf94408c6
sub ecx, edi
sub eax, edx
or edx, 0x835dfb9c
add edx, ecx
mov ecx, dword [esi + 4]
or ecx, 0x7ca20463
sub edx, ecx
add eax, 0x835dfb9c
add edx, 0xf94408c6
mov ecx, eax
and ecx, edx
mov edi, eax
or edi, edx
add edi, edi
sub edi, ecx
sub edi, ecx
xor edx, eax
not edx
add edx, edi
add ecx, edx
add ecx, 1
mov eax, dword [esi + 0x10]
and eax, 0x835dfb9c
mov ebx, dword [esi]
and ebx, 0x7ca20463
or ebx, eax
mov eax, ecx
not eax
mov edx, ecx
or edx, eax
and edx, ebx
mov edi, ecx
xor edi, ebx
add edi, edx
or ecx, ebx
not ecx
add ecx, edi
or eax, ebx
sub ecx, eax
mov edi, dword [esi + 8]
mov eax, edi
not eax
mov edx, eax
and edx, 0x50c8772c
xor edi, 0xaf3788d3
add edi, edx
not ecx
or eax, 0xaf3788d3
add eax, edi
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x25f2aea1
mov ecx, eax
xor ecx, 0x1ac93996
add ecx, edx
add ecx, 0x25f2aea1
mov edx, eax
or edx, 0x1ac93996
sub ecx, edx
or eax, 0xe536c669
add eax, ecx
add eax, 0x3592732d
mov ecx, eax
or ecx, 0x25f2aea0
or eax, 0xda0d515f
add eax, ecx
imul ecx, eax, 0xfb0a22e1
lea eax, [ecx - 0x4cb297bf]
mov edx, eax
and edx, 0xc3ee81de
add ecx, edx
add ecx, 0xb34d6841
mov edx, eax
not edx
and edx, 0x43ee81de
lea ecx, [ecx + edx*2]
or eax, 0x3c117e21
add eax, ecx
imul eax, eax, 0xbe02a121
add eax, 0xb4db4583
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
push eax
push eax
push eax
mov eax, esp
mov dword [eax], 0x5f6dcba
jmp 0x10014b3c
mov eax, dword [0x1006f6c8]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10079c28], eax
mov edx, dword [0x10079c24]
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x1006f6d0]
mov edi, edx
not edi
mov ebx, dword [0x1006f6d4]
mov dword [esi + 8], ebx
lea ebx, [edx + edi*2]
mov dword [esi + 4], ebx
mov ebx, dword [esi + 8]
or edi, ebx
sub edi, dword [esi + 4]
and edx, ebx
not edx
add edx, edi
and ecx, 1
cmp ecx, edx
setne cl
sete dl
mov ah, al
or ah, dl
add ah, al
xor al, dl
not al
add al, ah
add al, cl
test al, 1
je 0x100150a0
jmp 0x10016170
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006f878]
mov edx, dword [0x1006f87c]
mov edi, ecx
or edi, edx
mov ebx, edx
sub ebx, edi
add ebx, ecx
and ecx, edx
not ecx
add ecx, ebx
add ecx, 0xdc2d358c
cmp eax, ecx
mov eax, 0xed76a39b
mov ecx, 0x7950d75e
cmove eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
mov eax, dword [0x1006f880]
mov ecx, dword [0x1006f884]
mov edx, ecx
not edx
and edx, eax
mov edi, eax
xor edi, ecx
sub edx, edi
or ecx, eax
add ecx, edx
not eax
add eax, ecx
add eax, 0xb
cmp dword [0x10079c20], eax
mov edx, dword [0x10079c1c]
setge al
setl cl
mov ebx, edx
not ebx
add ebx, 2
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
or ah, dl
add ah, cl
or al, dl
add al, ah
and cl, dl
not cl
add cl, al
test cl, 1
jne 0x10016170
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0xdc2d358b
mov eax, 0xed76a39b
mov ecx, 0x7950d75e
cmove eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x1001510c
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006f738]
mov edx, dword [0x1006f73c]
mov edi, edx
not edi
lea ebx, [edx + edi*2]
or edi, ecx
sub ebx, edi
and ecx, edx
add ecx, ebx
add ecx, 0x3d9b4558
cmp eax, ecx
mov ecx, 0x33500c16
mov eax, 0x1e73eca4
cmovl ecx, eax
mov dword [esi + 8], ecx
mov eax, dword [0x1006f740]
mov edx, dword [0x1006f744]
mov ecx, edx
not ecx
and ecx, eax
add ecx, edx
or eax, edx
mov edi, dword [0x10079c18]
sub ecx, eax
add ecx, 0xa
cmp dword [0x10079c14], ecx
setl cl
lea edx, [edi - 1]
imul edx, edi
mov edi, dword [0x1006f748]
mov eax, dword [0x1006f74c]
mov ebx, edi
xor ebx, eax
lea ebx, [ebx + eax*2]
mov dword [esi + 4], ebx
mov ebx, edi
or ebx, eax
add ebx, ebx
sub dword [esi + 4], ebx
mov ebx, eax
not ebx
or ebx, edi
add ebx, dword [esi + 4]
not edi
or edi, eax
sub ebx, edi
and edx, 1
cmp edx, ebx
mov eax, dword [esi]
mov edx, dword [esi + 8]
mov dword [eax], edx
sete al
mov edx, ecx
and dl, al
xor cl, al
not cl
not dl
add dl, cl
test dl, 1
jne 0x10016170
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0x3d9b4557
mov eax, 0x33500c16
mov ecx, 0x1e73eca4
cmovl eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x100151c3
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006f850]
mov edx, dword [0x1006f854]
mov edi, ecx
and edi, edx
mov ebx, ecx
or ebx, edx
not ebx
add ebx, edi
xor ecx, edx
add ecx, ebx
add ecx, 0x19a7cd78
cmp eax, ecx
mov eax, 0xed76a39b
mov ecx, 0xe2e2437b
cmove eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
mov edx, dword [0x10079c10]
cmp dword [0x10079c0c], 0xa
setge cl
setl ch
lea eax, [edx + 1]
imul eax, edx
test al, 1
sete dl
or dl, ch
mov dh, dl
not dh
add dh, dl
or al, ch
add al, dh
add al, cl
add al, 1
test al, 1
jne 0x10016170
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006faa0]
mov edx, dword [0x1006faa4]
mov edi, ecx
or edi, edx
not ecx
or ecx, edx
not edx
add edx, edi
add ecx, edx
add ecx, 0x19a7cd79
cmp eax, ecx
mov eax, 0xed76a39b
mov ecx, 0xe2e2437b
cmove eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x1001529b
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0x1ac93996
mov ecx, 0xed76a39b
mov eax, 0xe4b664e0
cmove ecx, eax
mov dword [esi + 8], ecx
mov edi, dword [0x10079c08]
cmp dword [0x10079c04], 0xa
setge byte [esi + 4]
mov edx, edi
xor edx, 1
lea edx, [edi + edx*2]
mov ebx, edi
or ebx, 1
lea ebx, [ebx + ebx*2]
sub edx, ebx
add edx, edi
add edx, edi
add edx, 0x6734df24
imul edx, edi
mov eax, dword [0x1006f7e8]
mov edi, eax
not edi
mov ebx, dword [0x1006f7ec]
and edi, ebx
add edi, edi
mov ecx, eax
xor ecx, ebx
sub ebx, edi
add ebx, ecx
sub ebx, eax
and edx, 1
cmp edx, ebx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
mov dword [eax], ecx
setne al
sete cl
or cl, byte [esi + 4]
add cl, al
test cl, 1
jne 0x10016170
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0x1ac93996
mov eax, 0xed76a39b
mov ecx, 0xe4b664e0
cmove eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x10015348
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov edx, dword [0x1006f828]
mov edi, dword [0x1006f82c]
mov ecx, edx
xor ecx, edx
not ecx
and ecx, edi
xor ecx, edx
xor edx, edi
sub ecx, edx
add ecx, 0x19a7cd77
cmp eax, ecx
mov eax, 0x12c2a387
mov ecx, 0xab97797f
cmovl eax, ecx
mov ecx, dword [0x1006f830]
mov edx, dword [0x1006f834]
mov ebx, edx
not ebx
and ebx, ecx
add ebx, ebx
mov edi, ecx
sub edi, ebx
mov ebx, ecx
not ebx
or ebx, edx
sub edi, ebx
and ecx, edx
mov ebx, dword [0x10079c00]
not ecx
add ecx, edi
add ecx, 0xa
cmp dword [0x10079bfc], ecx
setl byte [esi + 4]
lea edx, [ebx - 1]
imul edx, ebx
mov ecx, dword [0x1006f838]
mov ebx, dword [0x1006f83c]
mov edi, ecx
or edi, ebx
not edi
add edi, ecx
not ebx
or ebx, ecx
sub edi, ebx
and edx, 1
cmp edx, edi
mov ecx, dword [esi]
mov dword [ecx], eax
sete al
or al, byte [esi + 4]
jne 0x10016170
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006fa98]
mov edx, dword [0x1006fa9c]
mov edi, ecx
not edi
mov ebx, edi
and ebx, edx
add ebx, ebx
xor ecx, edx
sub edx, ebx
add edx, ecx
lea ecx, [edi + edx]
add ecx, 0x19a7cd78
cmp eax, ecx
mov eax, 0x12c2a387
mov ecx, 0xab97797f
cmovl eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x100153ef
mov edi, dword [0x10079bf8]
cmp dword [0x10079bf4], 0xa
setge ch
setl cl
lea edx, [edi + 1]
imul edx, edi
mov edi, dword [0x1006fa28]
mov ebx, dword [0x1006fa2c]
mov eax, edi
or eax, ebx
not ebx
or ebx, edi
add ebx, eax
not edi
lea eax, [edi + ebx]
add eax, 2
and edx, 1
cmp edx, eax
sete al
mov edx, ecx
xor dl, al
add dl, al
mov ah, cl
or ah, al
add ah, dl
or ch, al
add ch, ah
and cl, al
not cl
add cl, ch
mov eax, dword [esi]
mov dword [eax], 0x5f6dcba
test cl, 1
jne 0x10016170
mov eax, dword [0x1006fb08]
mov ecx, dword [0x1006fb0c]
mov edx, ecx
not edx
and edx, eax
not eax
or eax, ecx
add eax, edx
add eax, 0x5f6dcbb
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x100154d3
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov edi, dword [0x10079bf0]
cmp dword [0x10079bec], 0xa
setge al
setl cl
lea edx, [edi + 1]
imul edx, edi
test dl, 1
sete ah
mov ch, cl
xor ch, ah
or cl, ah
add cl, ch
add cl, dl
add cl, al
mov eax, dword [esi]
mov dword [eax], 0x71915ab9
test cl, 1
jne 0x10016170
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi]
mov dword [eax], 0x71915ab9
jmp 0x1001555e
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006f710]
mov edx, dword [0x1006f714]
mov edi, ecx
and ecx, edx
not edx
or edi, edx
sub edi, edx
not ecx
add ecx, edi
add ecx, 0x1ac93997
cmp eax, ecx
mov ecx, 0xccc17875
mov eax, 0x78db397d
cmovl ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [0x10079be8]
cmp dword [0x10079be4], 0xa
setl byte [esi + 8]
lea ecx, [eax - 1]
imul ecx, eax
mov dword [esi + 0x18], ecx
mov edi, dword [0x1006f720]
mov eax, dword [0x1006f724]
mov ebx, edi
xor ebx, eax
mov ecx, eax
not ecx
or ecx, edi
and edi, eax
sub eax, ebx
sub eax, ebx
not ebx
add ebx, ebx
sub eax, ebx
add ecx, eax
not edi
add edi, ecx
mov eax, dword [esi + 0x18]
and eax, 1
cmp eax, edi
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
sete al
or al, byte [esi + 8]
jne 0x10016170
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006fa60]
mov edx, dword [0x1006fa64]
mov edi, ecx
and edi, edx
mov ebx, ecx
or ebx, edx
not ebx
add ebx, edi
xor ecx, edx
add ecx, ebx
add ecx, 0x1ac93997
cmp eax, ecx
mov eax, 0xccc17875
mov ecx, 0x78db397d
cmovl eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x100155b8
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006f760]
mov edx, ecx
not edx
mov edi, ecx
or edi, edx
mov ebx, dword [0x1006f764]
and edi, ebx
or ecx, ebx
not ecx
add ecx, edi
or edx, ebx
sub ecx, edx
add ecx, 0x4ce87e54
cmp eax, ecx
mov ecx, 0x8b64c2b5
mov eax, 0xaf8d531e
cmovl ecx, eax
mov dword [esi + 4], ecx
mov ecx, dword [0x1006f768]
mov edx, dword [0x1006f76c]
mov edi, edx
not edi
and edi, ecx
add edi, edx
or ecx, edx
mov ebx, dword [0x10079be0]
not ecx
add ecx, edi
add ecx, 0xb
cmp dword [0x10079bdc], ecx
setl byte [esi + 8]
lea edx, [ebx - 0x48f42e61]
imul edx, ebx
mov eax, dword [0x1006f770]
mov ebx, dword [0x1006f774]
mov edi, eax
and edi, ebx
add edi, edi
mov ecx, eax
xor ecx, ebx
sub ebx, edi
not ecx
add ecx, ebx
add eax, ecx
add eax, 1
and edx, 1
cmp edx, eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
sete al
or al, byte [esi + 8]
jne 0x10016170
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0x4ce87e54
mov eax, 0x8b64c2b5
mov ecx, 0xaf8d531e
cmovl eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x10015689
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0x4ce87e54
mov ecx, 0xed76a39b
mov eax, 0xcb5f9e6f
cmove ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [0x1006f790]
mov ecx, dword [0x1006f794]
mov edx, ecx
not edx
and edx, eax
mov edi, eax
not edi
add edi, edx
and eax, ecx
mov ebx, dword [0x10079bd8]
add eax, edi
add eax, 0xb
cmp dword [0x10079bd4], eax
setl byte [esi + 8]
lea edx, [ebx + 1]
imul edx, ebx
mov ecx, dword [0x1006f798]
mov edi, dword [0x1006f79c]
mov ebx, ecx
xor ebx, edi
mov eax, ecx
or eax, edi
sub ebx, eax
not edi
sub ebx, edi
or edi, ecx
add edi, ebx
and edx, 1
cmp edx, edi
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
setne al
sete cl
mov dl, byte [esi + 8]
or cl, dl
or al, dl
add dl, cl
not cl
add cl, dl
add al, cl
test al, 1
jne 0x10016170
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006fa78]
mov edx, dword [0x1006fa7c]
mov edi, ecx
not edi
and edi, edx
not edx
or edx, ecx
lea ecx, [edi + edx]
add ecx, 0x4ce87e55
cmp eax, ecx
mov eax, 0xed76a39b
mov ecx, 0xcb5f9e6f
cmove eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x10015754
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0x3d9b4557
mov eax, 0xed76a39b
mov ecx, 0x5bd82ad0
cmove eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
mov eax, dword [0x10079bd0]
cmp dword [0x10079bcc], 0xa
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x10016170
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0x3d9b4557
mov eax, 0xed76a39b
mov ecx, 0x5bd82ad0
cmove eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x10015825
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006f800]
mov edx, dword [0x1006f804]
mov edi, ecx
xor edi, edx
mov ebx, ecx
or ebx, edx
sub edi, ebx
not ecx
sub edi, ecx
or ecx, edx
add ecx, edi
add ecx, 0xdc2d358b
cmp eax, ecx
mov ecx, 0x5073be5c
mov eax, 0x3bba7808
cmovl ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [0x1006f808]
mov edx, dword [0x1006f80c]
mov edi, edx
and edi, eax
mov ebx, eax
xor ebx, edx
add ebx, edi
or eax, edx
mov edx, dword [0x10079bc8]
sub ebx, eax
add ebx, 0xa
cmp dword [0x10079bc4], ebx
setl byte [esi + 8]
setge byte [esi + 0x18]
lea edi, [edx - 1]
imul edi, edx
mov ebx, dword [0x1006f810]
mov ecx, dword [0x1006f814]
mov eax, ebx
and eax, ecx
mov edx, ecx
not edx
and edx, ebx
sub eax, edx
add eax, ebx
mov edx, ebx
or edx, ecx
not edx
lea eax, [eax + edx*2]
xor ebx, ecx
not ebx
add ebx, ebx
sub eax, ebx
and edi, 1
cmp edi, eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
setne al
mov cl, byte [esi + 0x18]
and al, cl
add al, byte [esi + 8]
add al, cl
test al, 1
jne 0x10016170
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006fa90]
mov edx, dword [0x1006fa94]
mov edi, ecx
xor edi, edx
add edi, edi
lea edi, [edi + edx*2]
mov ebx, ecx
or ebx, edx
lea ebx, [ebx + ebx*2]
sub edi, ebx
not edx
or edx, ecx
add edx, edi
add ecx, edx
add ecx, 0xdc2d358c
cmp eax, ecx
mov eax, 0x5073be5c
mov ecx, 0x3bba7808
cmovl eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x10015880
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006f8a0]
mov edx, dword [0x1006f8a4]
mov edi, ecx
mov ebx, ecx
xor ecx, edx
not edx
and edi, edx
add edi, edi
sub ebx, edi
add ecx, ebx
add ecx, edx
add ecx, 0xa45dfd1f
cmp eax, ecx
mov eax, 0xed76a39b
mov ecx, 0x174d0b84
cmove eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
mov ecx, dword [0x10079bc0]
cmp dword [0x10079bbc], 0xa
setge dl
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
and dl, al
cmp ecx, 1
adc dl, 0
add dl, al
test dl, 1
jne 0x10016170
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006fab0]
mov edx, dword [0x1006fab4]
mov ebx, edx
not ebx
and ebx, ecx
add ebx, ebx
mov edi, ecx
sub edi, ebx
mov ebx, ecx
not ebx
or ebx, edx
sub edi, ebx
and ecx, edx
not ecx
add ecx, edi
add ecx, 0xa45dfd1e
cmp eax, ecx
mov eax, 0xed76a39b
mov ecx, 0x174d0b84
cmove eax, ecx
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x10015986
mov ecx, dword [0x1006f8c8]
mov eax, dword [0x1006f8cc]
mov edx, ecx
or edx, eax
sub edx, eax
mov dword [esi + 4], edx
not ecx
or ecx, eax
mov dword [esi + 8], ecx
mov eax, dword [0x1006f8d0]
mov ecx, dword [0x1006f8d4]
mov edx, eax
and eax, ecx
not ecx
or edx, ecx
sub edx, ecx
not eax
add eax, edx
add eax, 0xb
mov ecx, dword [0x10079bb8]
cmp dword [0x10079bb4], eax
setl byte [esi + 0x18]
lea edi, [ecx + 1]
imul edi, ecx
mov eax, dword [0x1006f8d8]
mov edx, dword [0x1006f8dc]
mov ebx, eax
or ebx, edx
mov ecx, eax
not eax
or eax, edx
not edx
and ecx, edx
add ecx, ecx
sub ebx, ecx
add ebx, edx
sub ebx, eax
and edi, 1
cmp edi, ebx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
lea eax, [eax + ecx - 0x108e46a7]
mov ecx, dword [esi]
mov dword [ecx], eax
setne al
sete cl
mov ah, byte [esi + 0x18]
mov dl, ah
or dl, cl
add dl, cl
or al, ah
add al, dl
and ah, cl
not ah
add ah, al
test ah, 1
jne 0x10016170
mov eax, dword [0x1006fab8]
mov ecx, dword [0x1006fabc]
mov edx, eax
or edx, ecx
not ecx
or ecx, eax
add ecx, edx
not eax
add eax, ecx
add eax, 0xef71b95a
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x10015a39
mov eax, dword [0x1006f8f8]
mov ecx, dword [0x1006f8fc]
mov edx, ecx
not edx
lea edi, [ecx + edx*2]
or edx, eax
sub edi, edx
mov ebx, dword [0x10079bb0]
and eax, ecx
add eax, edi
add eax, 0xb
cmp dword [0x10079bac], eax
setge al
setl ah
lea edx, [ebx - 1]
imul edx, ebx
mov edi, dword [0x1006f900]
mov ebx, dword [0x1006f904]
mov ecx, edi
or edi, ebx
not ebx
and ecx, ebx
not edi
add edi, ecx
sub edi, ebx
and edx, 1
cmp edx, edi
setne cl
sete dl
mov ch, ah
or cl, ah
xor ah, dl
or ch, dl
add ch, ah
add cl, ch
or al, dl
add al, cl
mov ecx, dword [esi]
mov dword [ecx], 0x6898b90a
test al, 1
jne 0x10016170
mov eax, dword [0x1006fac0]
mov ecx, dword [0x1006fac4]
mov edx, eax
sub edx, ecx
mov edi, eax
xor edi, ecx
sub edx, edi
not edi
add edi, edi
sub edx, edi
not eax
or eax, ecx
lea eax, [edx + eax*2]
add eax, 0x6898b90a
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x10015b06
mov eax, dword [esi + 0x38]
cmp byte [eax], 0
mov ecx, 0xdc2d358b
mov eax, 0x19a7cd77
cmovne ecx, eax
mov dword [esi + 4], ecx
mov edi, dword [0x1006f918]
mov eax, dword [str.M_b_]
mov edx, edi
or edx, eax
mov ebx, eax
sub ebx, edx
mov ecx, edi
xor ecx, eax
add ecx, ebx
mov dword [esi + 8], ecx
not eax
or eax, edi
mov dword [esi + 0x18], eax
mov edi, dword [0x1006f920]
mov ebx, edi
not ebx
mov eax, edi
or eax, ebx
mov ecx, dword [0x1006f924]
and eax, ecx
or edi, ecx
not edi
add edi, eax
or ebx, ecx
sub edi, ebx
add edi, 0xa
cmp dword [0x10079ba8], edi
setge bl
setl bh
mov eax, dword [0x10079ba4]
lea edi, [eax - 1]
imul edi, eax
mov edx, dword [0x1006f92c]
mov ecx, edx
not ecx
mov eax, dword [0x1006f928]
and ecx, eax
not eax
or eax, edx
add eax, ecx
add eax, 1
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x18]
lea eax, [ecx + eax + 0x6898b90b]
mov ecx, dword [esi]
mov dword [ecx], eax
sete al
mov cl, bh
or cl, al
add cl, al
xor bh, al
not bh
add bh, cl
add bh, bl
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
test bh, 1
jne 0x10016170
mov eax, dword [esi + 0x38]
cmp byte [eax], 0
mov eax, 0xdc2d358b
mov ecx, 0x19a7cd77
cmovne eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [0x1006fac8]
mov ecx, dword [0x1006facc]
mov edx, eax
xor edx, ecx
mov edi, eax
or edi, ecx
sub edx, edi
not eax
sub edx, eax
or eax, ecx
add eax, edx
add eax, 0x6898b90a
mov ecx, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
jmp 0x10015bb0
mov eax, dword [esi + 0x28]
mov edi, dword [esi + 0x24]
mov dword [eax], edi
mov eax, dword [eax]
push 0x10076238
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x10076245
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
test eax, eax
mov ecx, 0x4ce87e54
mov eax, 0xa45dfd1e
cmove ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [0x1006f950]
mov ecx, dword [0x1006f954]
mov edx, ecx
not edx
and edx, eax
mov edi, eax
not edi
add edi, edx
and eax, ecx
mov ebx, dword [0x10079ba0]
add eax, edi
add eax, 0xb
cmp dword [0x10079b9c], eax
setl byte [esi + 8]
lea edx, [ebx + 1]
imul edx, ebx
mov ecx, dword [0x1006f958]
mov edi, dword [0x1006f95c]
mov ebx, ecx
xor ebx, edi
mov eax, ecx
or eax, edi
sub ebx, eax
not edi
sub ebx, edi
or edi, ecx
add edi, ebx
and edx, 1
cmp edx, edi
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
setne al
sete cl
mov dl, byte [esi + 8]
or cl, dl
or al, dl
add dl, cl
not cl
add cl, dl
add al, cl
mov ecx, dword [esi + 0x14]
mov dword [ecx], 0
mov ecx, dword [esi]
mov dword [ecx], 0x6898b90a
test al, 1
jne 0x10016170
mov eax, dword [esi + 0x28]
mov edi, dword [esi + 0x24]
mov dword [eax], edi
mov eax, dword [eax]
push 0x10076238
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x10076245
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov ecx, dword [0x1006fad0]
mov edx, dword [0x1006fad4]
mov edi, edx
and edi, ecx
mov ebx, ecx
xor ebx, edx
add ebx, edi
or ecx, edx
sub ebx, ecx
cmp eax, ebx
mov eax, 0x4ce87e54
mov ecx, 0xa45dfd1e
cmove eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [0x1006fad8]
mov ecx, dword [str._rDlD]
mov edx, eax
or edx, ecx
not edx
lea edx, [edx + edx*2]
add edx, eax
add edx, ecx
mov edi, eax
xor edi, ecx
not edi
add edi, edi
sub edx, edi
and eax, ecx
add eax, edx
add eax, 0x6898b90b
mov ecx, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 0x14]
mov dword [eax], 0
jmp 0x10015cca
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x24]
mov dword [eax], ecx
mov eax, dword [eax]
push dword [eax]
call fcn.1005df00
add esp, 4
mov ecx, dword [esi + 0x30]
mov dword [ecx], eax
cmp dword [ecx], 0
mov eax, 0x3d9b4557
mov ecx, 0xa45dfd1e
cmove eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [0x10079b98]
cmp dword [0x10079b94], 0xa
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
mov eax, dword [esi + 0x14]
mov dword [eax], 0
mov eax, dword [esi]
mov dword [eax], 0x6898b90a
jne 0x10016170
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x24]
mov dword [eax], ecx
mov eax, dword [eax]
push dword [eax]
call fcn.1005df00
add esp, 4
mov ecx, dword [esi + 0x30]
mov dword [ecx], eax
cmp dword [ecx], 0
mov eax, 0x3d9b4557
mov ecx, 0xa45dfd1e
cmove eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [0x1006fae0]
mov ecx, dword [0x1006fae4]
mov edx, eax
and edx, ecx
mov edi, ecx
not edi
and edi, eax
sub edx, edi
add edx, eax
mov edi, eax
or edi, ecx
not edi
lea edx, [edx + edi*2]
xor eax, ecx
not eax
add eax, eax
sub edx, eax
add edx, 0x6898b90a
mov eax, dword [esi]
mov dword [eax], edx
mov eax, dword [esi + 0x14]
mov dword [eax], 0
jmp 0x10015e26
push 0x10076238
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x10076253
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, dword [esi + 0x2c]
mov ecx, dword [ebx]
push 0
push dword [esi + 0x34]
push dword [ecx]
mov edi, dword [esi + 0x30]
push dword [edi]
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov eax, dword [ebx]
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov dword [eax], 0xa45dfd1e
mov eax, dword [edi]
mov dword [esi + 4], eax
mov ecx, dword [0x1006f9a8]
mov edx, dword [0x1006f9ac]
mov edi, ecx
xor edi, edx
add edi, edi
lea edi, [edi + edx*2]
mov ebx, ecx
or ebx, edx
lea ebx, [ebx + ebx*2]
sub edi, ebx
not edx
or edx, ecx
add edx, edi
mov eax, dword [0x10079b90]
add ecx, edx
add ecx, 0xb
cmp dword [0x10079b8c], ecx
setl cl
mov edx, eax
not edx
mov ebx, edx
and ebx, 1
add ebx, ebx
mov edi, eax
sub edi, ebx
add edi, edx
add edx, edi
add edx, 0xffffffff
imul edx, eax
mov edi, dword [0x1006f9b0]
mov eax, dword [0x1006f9b4]
mov ebx, edi
or ebx, eax
not edi
or edi, eax
not eax
add eax, ebx
add eax, edi
add eax, 2
and edx, 1
cmp edx, eax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 4]
mov dword [eax], edx
sete al
or al, cl
mov eax, dword [esi]
mov dword [eax], 0x6898b90a
jne 0x10016170
push 0x10076238
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x10076253
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, dword [esi + 0x2c]
mov ecx, dword [ebx]
push 0
push dword [esi + 0x34]
push dword [ecx]
mov edi, dword [esi + 0x30]
push dword [edi]
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov eax, dword [ebx]
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1006fae8]
mov ecx, dword [0x1006faec]
or ecx, eax
mov edx, ecx
sub edx, eax
not ecx
add ecx, edx
add eax, ecx
add eax, 0xa45dfd1f
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [edi]
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [0x1006faf0]
mov ecx, dword [0x1006faf4]
mov edx, eax
and edx, ecx
not ecx
and ecx, eax
add ecx, ecx
lea ecx, [ecx + edx*2]
add eax, eax
sub eax, ecx
add eax, 0x6898b90a
mov ecx, dword [esi]
mov dword [ecx], eax
jmp 0x10015ef8
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 4], eax
push 0x10076238
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1007625c
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 [0x1006f9c8]
mov ecx, dword [0x1006f9cc]
mov edx, ecx
and edx, eax
mov edi, eax
xor edi, ecx
add edi, edx
or eax, ecx
sub edi, eax
mov edx, dword [0x1006f9d0]
mov eax, dword [0x1006f9d4]
mov ecx, edx
or ecx, eax
not ecx
lea ebx, [ecx + ecx*2]
add ebx, edx
add ebx, eax
mov ecx, edx
xor ecx, eax
not ecx
add ecx, ecx
sub ebx, ecx
mov dword [esi + 8], ebx
and edx, eax
mov dword [esi + 0x18], edx
mov eax, dword [0x1006f9d8]
mov edx, dword [0x1006f9dc]
mov ecx, eax
and ecx, edx
mov ebx, edx
not ebx
and ebx, eax
sub ecx, ebx
add ecx, eax
mov ebx, eax
or ebx, edx
not ebx
lea ecx, [ecx + ebx*2]
xor eax, edx
not eax
add eax, eax
sub ecx, eax
add edi, 0x19a7cd77
mov dword [esi + 0x3c], edi
add ecx, 0xa
cmp dword [0x10079b88], ecx
setge cl
setl ch
mov eax, dword [0x10079b84]
lea ebx, [eax - 1]
imul ebx, eax
mov eax, dword [0x1006f9e0]
mov edx, dword [0x1006f9e4]
mov edi, eax
and edi, edx
not edx
and edx, eax
add edx, edx
lea edx, [edx + edi*2]
add eax, eax
sub eax, edx
and ebx, 1
cmp ebx, eax
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x3c]
mov dword [eax], edx
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 4]
mov dword [eax], edx
mov eax, dword [esi + 8]
mov edx, dword [esi + 0x18]
lea eax, [eax + edx + 0x6898b90b]
mov edx, dword [esi]
mov dword [edx], eax
sete al
setne dl
and dl, ch
or ch, al
not ch
add ch, dl
or cl, al
add cl, ch
test cl, 1
je 0x100161ce
nop dword [eax + eax]
mov eax, dword [0x1006fa40]
mov ecx, dword [0x1006fa44]
mov edx, ecx
not edx
and edx, eax
mov edi, eax
xor edi, ecx
sub edx, edi
or ecx, eax
add ecx, edx
not eax
add eax, ecx
add eax, 0xb
cmp dword [0x10079b80], eax
mov edx, dword [0x10079b7c]
setge al
setl cl
mov ebx, edx
not ebx
add ebx, 0x13b6cfe
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
or ah, dl
add ah, cl
or al, dl
add al, ah
and cl, dl
not cl
add cl, al
test cl, 1
je 0x10016170
jmp 0x10016240
mov eax, dword [esi + 0x14]
mov edi, dword [eax]
push 0x10076238
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1007625c
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 [0x1006faf8]
mov ecx, dword [0x1006fafc]
mov edx, ecx
not edx
and edx, eax
lea ebx, [edx + ecx*2]
mov edx, eax
or edx, ecx
sub ebx, edx
not edx
add edx, ebx
not eax
or eax, ecx
sub edx, eax
add edx, 0x19a7cd77
mov eax, dword [esi + 0x10]
mov dword [eax], edx
mov eax, dword [esi + 0x1c]
mov dword [eax], edi
mov eax, dword [esi]
mov dword [eax], 0x6898b90a
jmp 0x10016054
mov edi, dword [0x10079b78]
cmp dword [0x10079b74], 0xa
setge ah
setl al
mov edx, edi
or edx, 1
add edx, edi
add edx, edi
mov ebx, edi
not ebx
add edx, ebx
add edx, 0xffffffff
imul edx, edi
mov edi, dword [0x1006f6b0]
mov ebx, dword [0x1006f6b4]
mov ecx, edi
xor ecx, ebx
mov dword [esi + 4], ecx
mov ecx, edi
not ecx
or ecx, ebx
and edi, ebx
sub ebx, dword [esi + 4]
sub ebx, ecx
not edi
add edi, ebx
and edx, 1
cmp edx, edi
sete cl
mov edx, eax
and dl, cl
or al, cl
add al, dl
add al, ah
or ah, cl
add ah, al
mov ecx, dword [esi]
mov ecx, dword [ecx]
add ah, 1
test ah, 1
jne 0x10016240
cmp ecx, 0x174d0b83
jg 0x10016370
cmp ecx, 0xe2e2437a
jle 0x1001641c
cmp ecx, 0xef71b957
jle 0x10016524
cmp ecx, 0xef71b958
je 0x10016703
cmp ecx, 0x5f6dcba
je 0x1001673d
cmp ecx, 0x12c2a387
jne 0x100150a0
mov edx, dword [0x10079b70]
mov eax, dword [0x1006f844]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10079b6c], eax
setl byte [esi + 4]
mov ecx, edx
and ecx, 0xfffffffe
add ecx, edx
mov edi, edx
not edi
add edi, ecx
lea ecx, [edx + edi]
add ecx, 0xb56917a8
imul ecx, edx
mov edx, dword [0x1006f848]
mov eax, dword [0x1006f84c]
mov ebx, edx
xor ebx, eax
mov edi, edx
and edx, eax
not eax
and edi, eax
sub ebx, edi
add ebx, eax
lea eax, [edx + ebx]
add eax, 1
and ecx, 1
cmp ecx, eax
setne al
sete cl
mov dl, byte [esi + 4]
or dl, cl
add dl, cl
add dl, al
test dl, 1
je 0x1001529b
jmp 0x1001530b
cmp ecx, 0x5bd82acf
jg 0x10016493
cmp ecx, 0x33500c15
jle 0x100165ad
cmp ecx, 0x33500c16
je 0x10016794
cmp ecx, 0x3bba7808
je 0x100167c8
cmp ecx, 0x5073be5c
jne 0x100150a0
mov eax, dword [0x10079b68]
mov ecx, dword [0x1006f818]
mov edx, dword [0x1006f81c]
mov edi, ecx
and edi, edx
not edx
and edx, ecx
add edx, edx
lea edx, [edx + edi*2]
add ecx, ecx
sub ecx, edx
add ecx, 0xa
cmp dword [0x10079b64], ecx
setge cl
setl dl
mov edi, eax
and edi, 0xfffffffe
add edi, eax
mov ebx, eax
or ebx, 1
sub edi, ebx
not ebx
add ebx, edi
mov edi, eax
not edi
or edi, 1
sub ebx, edi
add ebx, 3
imul ebx, eax
test bl, 1
sete al
and bl, dl
or dl, al
add dl, bl
or cl, al
add cl, dl
test cl, 1
je 0x100153ef
jmp 0x10015491
cmp ecx, 0xaf8d531d
jle 0x10016617
cmp ecx, 0xaf8d531e
je 0x1001683c
cmp ecx, 0xcb5f9e6f
je 0x100168b9
cmp ecx, 0xccc17875
jne 0x100150a0
mov eax, dword [0x1006f728]
mov ecx, dword [0x1006f72c]
mov edx, eax
and edx, ecx
mov edi, eax
or edi, ecx
sub edi, edx
xor eax, ecx
not eax
add eax, edi
add eax, 0xb
cmp dword [0x10079b60], eax
mov eax, dword [0x10079b5c]
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x100151c3
jmp 0x1001527b
cmp ecx, 0x71915ab8
jle 0x10016687
cmp ecx, 0x71915ab9
je 0x10016938
cmp ecx, 0x78db397d
je 0x100169b3
cmp ecx, 0x7950d75e
jne 0x100150a0
mov edx, dword [0x10079b58]
cmp dword [0x10079b54], 0xa
setl bl
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x1006f938]
mov edi, edx
not edi
mov eax, dword [0x1006f93c]
mov dword [esi + 4], edi
and dword [esi + 4], eax
xor edx, eax
not edx
add edx, dword [esi + 4]
or edi, eax
sub edx, edi
and ecx, 1
cmp ecx, edx
sete cl
setne dl
mov ah, bl
and ah, dl
mov ch, bl
xor ch, cl
add ch, ah
or cl, bl
add cl, ch
or bl, dl
add bl, cl
test bl, 1
je 0x10015cca
jmp 0x10015d92
cmp ecx, 0xe4b664e0
je 0x10016a12
cmp ecx, 0xed76a39b
jne 0x10016ba0
mov eax, dword [0x1006f8b8]
mov ecx, dword [0x1006f8bc]
mov edx, ecx
not edx
mov edi, eax
and edi, edx
add edi, edi
xor ecx, eax
sub ecx, edi
mov edi, dword [0x10079b50]
add ecx, edx
add eax, ecx
add eax, 0xb
cmp dword [0x10079b4c], eax
setge ah
setl al
lea edx, [edi - 1]
imul edx, edi
mov ecx, dword [0x1006f8c0]
mov ebx, dword [0x1006f8c4]
mov edi, ecx
and edi, ebx
not ecx
add edi, ecx
or ecx, ebx
sub edi, ecx
and edx, 1
cmp edx, edi
sete cl
or al, cl
or ah, cl
add cl, al
not al
add al, cl
add al, ah
test al, 1
jne 0x10015a39
jmp 0x10015adf
cmp ecx, 0x174d0b84
je 0x10016a62
cmp ecx, 0x1e73eca4
jne 0x100150a0
mov eax, dword [0x1006f7c8]
mov ecx, dword [0x1006f7cc]
mov edx, eax
and edx, ecx
mov edi, eax
or edi, ecx
not edi
add edi, edx
xor eax, ecx
mov edx, dword [0x10079b48]
add eax, edi
add eax, 0xb
cmp dword [0x10079b44], eax
setl cl
setge ch
lea eax, [edx + 1]
imul eax, edx
test al, 1
sete dl
and ch, dl
or dl, cl
add dl, ch
or al, cl
add al, dl
test al, 1
je 0x10015348
jmp 0x100153cf
cmp ecx, 0x8b64c2b5
je 0x10016af9
cmp ecx, 0xab97797f
jne 0x100150a0
mov eax, dword [0x1006f868]
mov ecx, dword [0x1006f86c]
mov edx, eax
xor edx, ecx
mov edi, eax
not edi
or edi, ecx
and eax, ecx
sub ecx, edx
sub ecx, edi
mov edx, dword [0x10079b40]
not eax
add eax, ecx
add eax, 0xa
cmp dword [0x10079b3c], eax
lea eax, [edx + edx]
mov ecx, edx
not ecx
lea eax, [ecx + eax + 0x40845970]
setl cl
imul eax, edx
test al, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x1001510c
jmp 0x100151a3
cmp ecx, 0x5bd82ad0
je 0x10016b4e
cmp ecx, 0x6898b90a
jne 0x100150a0
mov eax, dword [0x1006fa08]
mov edx, dword [0x1006fa0c]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, edx
xor ecx, eax
xor eax, edx
not eax
add eax, ecx
add eax, 0xb
cmp dword [0x10079b38], eax
mov ecx, dword [0x10079b34]
setl al
mov edx, ecx
not edx
add edx, ecx
add edx, ecx
add edx, 0x4fb8fab8
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
and dl, cl
mov ah, al
or ah, cl
add dl, ah
not ah
add ah, dl
xor al, cl
sub ah, al
test ah, 1
je 0x100154d3
jmp 0x10015539
mov eax, dword [0x1006f8e0]
mov ecx, eax
not ecx
add ecx, ecx
lea eax, [ecx + eax*2]
add eax, 0xc
cmp dword [0x10079b30], eax
mov eax, dword [0x10079b2c]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x10015b06
jmp 0x10015b80
mov edx, dword [0x10079b28]
cmp dword [0x10079b24], 0xa
setl al
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
imul ecx, edx
mov edx, dword [0x1006f6e0]
mov edi, edx
not edi
or edi, edx
mov edx, dword [0x1006f6e4]
and edi, edx
sub edi, edx
and ecx, 1
cmp ecx, edi
setne cl
sete dl
mov ah, al
or ah, dl
add ah, al
xor al, dl
not al
add al, ah
add al, cl
test al, 1
jne 0x1001555e
jmp 0x100155a4
mov ecx, dword [0x10079b20]
cmp dword [0x10079b1c], 0xa
setl dl
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
or al, dl
xor dl, cl
not dl
add dl, cl
add al, dl
add al, 1
test al, 1
je 0x10015689
jmp 0x10015734
mov edx, dword [0x10079b18]
mov edi, dword [0x1006f890]
mov ecx, dword [0x1006f894]
mov eax, edi
xor eax, ecx
not eax
add eax, edi
not ecx
add eax, ecx
or ecx, edi
add ecx, ecx
sub eax, ecx
add eax, 0xa
cmp dword [0x10079b14], eax
setge cl
setl al
lea edi, [edx + 1]
imul edi, edx
mov edx, dword [0x1006f898]
mov ebx, edx
not ebx
or ebx, edx
mov edx, dword [0x1006f89c]
and ebx, edx
sub ebx, edx
and edi, 1
cmp edi, ebx
sete dl
mov ah, al
and ah, dl
and cl, dl
add cl, ah
add cl, dl
or al, dl
add al, cl
add al, 1
test al, 1
je 0x10015986
jmp 0x100159f0
mov eax, dword [0x1006f7a0]
mov edi, dword [0x1006f7a4]
mov ecx, edi
not ecx
mov edx, eax
and edx, ecx
mov ebx, eax
or ebx, edi
sub ebx, edx
or ecx, eax
add ecx, ebx
mov edx, dword [0x10079b10]
and eax, edi
not eax
add eax, ecx
add eax, 0xc
cmp dword [0x10079b0c], eax
setge al
setl cl
mov edi, edx
and edi, 1
add edi, edx
mov ebx, edx
not ebx
and ebx, 1
lea edi, [edi + ebx*2]
mov ebx, edx
or ebx, 0xfffffffe
add ebx, edi
add ebx, 1
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
and ah, dl
mov ch, cl
xor ch, dl
add ch, ah
or cl, dl
add cl, ch
add cl, bl
or al, dl
add al, cl
test al, 1
jne 0x10015825
jmp 0x10015863
mov eax, dword [0x1006f960]
mov edi, dword [0x1006f964]
mov ecx, edi
not ecx
mov edx, eax
and edx, ecx
mov ebx, eax
or ebx, edi
sub ebx, edx
or ecx, eax
add ecx, ebx
mov edx, dword [0x10079b08]
and eax, edi
not eax
add eax, ecx
add eax, 0xc
cmp dword [0x10079b04], eax
setge al
setl cl
mov edi, edx
and edi, 1
add edi, edx
mov ebx, edx
not ebx
and ebx, 1
lea edi, [edi + ebx*2]
mov ebx, edx
or ebx, 0xfffffffe
add ebx, edi
add ebx, 1
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
and ah, dl
mov ch, cl
xor ch, dl
add ch, ah
or cl, dl
add cl, ch
add cl, bl
or al, dl
add al, cl
add al, 1
test al, 1
je 0x10015e26
jmp 0x10015e88
mov ecx, dword [0x10079b00]
cmp dword [0x10079afc], 0xa
setge ah
setl al
mov edx, ecx
not edx
add edx, ecx
add edx, ecx
imul edx, ecx
mov edi, dword [0x1006f708]
mov ecx, dword [0x1006f70c]
mov ebx, edi
or ebx, ecx
mov dword [esi + 4], ebx
mov ebx, ecx
not ebx
or ebx, edi
mov dword [esi + 0x18], ebx
lea ebx, [edi + edi]
mov dword [esi + 8], ebx
not edi
or edi, ecx
sub ecx, dword [esi + 8]
add dword [esi + 4], ecx
mov ecx, dword [esi + 4]
mov ebx, dword [esi + 0x18]
lea ecx, [ecx + ebx*2]
sub ecx, edi
and edx, 1
add ecx, 1
cmp edx, ecx
sete cl
or al, cl
or ah, cl
add cl, al
not al
add al, cl
add al, ah
add al, 1
test al, 1
je 0x100155b8
jmp 0x1001564a
mov edx, dword [0x10079af8]
cmp dword [0x10079af4], 0xa
setl al
mov ecx, edx
not ecx
add ecx, 0x4a4be480
imul ecx, edx
mov edx, dword [0x1006f7f8]
mov edi, dword [0x1006f7fc]
mov ebx, edx
or ebx, edi
not edi
or edi, edx
add edi, ebx
not edx
add edx, edi
add edx, 2
and ecx, 1
cmp ecx, edx
sete cl
mov edx, eax
add dl, cl
mov ah, al
xor ah, cl
add ah, dl
or al, cl
add al, ah
add al, 1
test al, 1
je 0x10015880
jmp 0x1001593d
mov eax, dword [0x1006f908]
mov edx, dword [0x1006f90c]
mov ecx, eax
and ecx, edx
mov edi, eax
or edi, edx
sub edi, ecx
sub edi, ecx
xor eax, edx
not eax
add eax, edi
add eax, ecx
add eax, 0xb
mov ecx, dword [0x10079af0]
cmp dword [0x10079aec], eax
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x10015bb0
jmp 0x10015c7e
mov eax, dword [0x1006f9b8]
mov ecx, dword [0x1006f9bc]
mov edi, ecx
not edi
and edi, eax
add edi, edi
mov edx, eax
sub edx, edi
mov edi, eax
not edi
or edi, ecx
sub edx, edi
and eax, ecx
not eax
add eax, edx
add eax, 0xa
cmp dword [0x10079ae8], eax
mov ecx, dword [0x10079ae4]
setge byte [esi + 4]
setl byte [esi + 8]
mov edx, ecx
or edx, 1
add edx, ecx
add edx, ecx
mov edi, ecx
not edi
add edx, edi
add edx, 0xffffffff
imul edx, ecx
mov eax, dword [0x1006f9c0]
mov ebx, dword [0x1006f9c4]
mov edi, eax
sub edi, ebx
mov ecx, eax
xor ecx, ebx
sub edi, ecx
not ecx
add ecx, ecx
sub edi, ecx
not eax
or eax, ebx
lea eax, [edi + eax*2]
and edx, 1
cmp edx, eax
sete al
mov dl, byte [esi + 8]
xor dl, al
mov cl, byte [esi + 4]
add dl, cl
or cl, al
add cl, dl
test cl, 1
jne 0x10016054
jmp 0x100161ce
cmp dword [0x10079ae0], 0xa
mov edx, dword [0x10079adc]
setl byte [esi + 4]
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
imul ecx, edx
mov edx, dword [0x1006f784]
mov edi, edx
not edi
mov eax, dword [0x1006f780]
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]
add al, 1
test al, 1
je 0x10015754
jmp 0x100157e9
mov eax, dword [0x1006f988]
mov ecx, dword [0x1006f98c]
mov edx, eax
and edx, ecx
mov edi, eax
or edi, ecx
not edi
add edi, edx
xor eax, ecx
mov edx, dword [0x10079ad8]
add eax, edi
add eax, 0xb
cmp dword [0x10079ad4], eax
setl cl
setge ch
lea eax, [edx + 1]
imul eax, edx
test al, 1
sete dl
and ch, dl
or dl, cl
add dl, ch
or al, cl
add al, dl
test al, 1
je 0x10015ef8
jmp 0x10015fca
cmp ecx, 0xe2e2437b
jne 0x100150a0
mov ebx, dword [esi + 0x1c]
nop
mov eax, dword [str.Re__v]
or eax, dword [0x1006f9fc]
mov edx, dword [0x10079ad0]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
mov ecx, edx
not ecx
cmp dword [0x10079acc], eax
setl al
and ecx, 0xfffffffe
lea ecx, [ecx + edx*2]
mov edi, edx
or edi, 0xfffffffe
sub ecx, edi
add ecx, 1
imul ecx, edx
test cl, 1
sete dl
or al, dl
add al, dl
add al, cl
mov edi, dword [ebx]
test al, 1
jne 0x10016bb0
mov ecx, dword [esi + 0x40]
xor ecx, ebp
call fcn.1005afa0
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret