Function at 0x10013140
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, 0x60
mov esi, esp
mov eax, dword [0x10072a40]
xor eax, ebp
mov dword [esi + 0x58], eax
mov eax, dword [0x1006b6b0]
mov edx, dword [0x1006b6b4]
mov ecx, eax
not ecx
mov edi, ecx
and edi, edx
lea edi, [eax + edi*2]
mov ebx, eax
xor ebx, edx
sub edi, ebx
or eax, edx
not eax
add eax, edi
mov edi, dword [0x10075cf8]
or ecx, edx
sub eax, ecx
add eax, 0xa
cmp dword [0x10075cf4], eax
setl byte [esi]
lea ecx, [edi + 1]
imul ecx, edi
mov edi, dword [0x1006b6b8]
mov edx, edi
not edx
mov ebx, dword [0x1006b6bc]
mov eax, edx
and eax, ebx
xor edi, ebx
not edi
add edi, edi
lea eax, [edi + eax*2]
or edx, ebx
add edx, edx
sub eax, edx
and ecx, 1
cmp ecx, eax
sete al
setne cl
mov ah, byte [esi]
and cl, ah
add cl, ah
mov dl, ah
or dl, al
add cl, dl
not dl
add dl, cl
xor ah, al
sub dl, ah
test dl, 1
jne 0x10013323
push eax
mov dword [esi + 0xc], esp
push eax
mov dword [esi + 0x38], esp
push eax
mov dword [esi + 0x34], esp
push eax
mov dword [esi + 0x30], esp
push eax
mov edi, esp
push eax
mov ebx, esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x2c], eax
mov esp, eax
push eax
mov dword [esi + 0x40], esp
push 0x10072358
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1007234c
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 0x1c
movaps xmm0, xmmword [0x100631b0]
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 + 0x24], ebx
mov eax, dword [ebx]
cmp eax, 0xffffffff
mov dword [esi + 0x44], edi
sete byte [edi]
push eax
mov edi, esp
mov eax, dword [0x1006b6c0]
mov ecx, dword [0x1006b6c4]
mov edx, eax
not edx
and edx, ecx
not ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0x1178568e
mov dword [esi + 0x14], edi
mov dword [edi], eax
push eax
mov dword [esi + 0x1c], esp
push eax
mov dword [esi + 0x28], esp
push eax
mov dword [esi + 4], esp
mov ecx, dword [0x1006b6c8]
mov edx, dword [0x1006b6cc]
mov eax, ecx
or eax, edx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
mov ecx, dword [0x1006b6d0]
mov edx, dword [0x1006b6d4]
mov edi, ecx
not edi
and edi, edx
lea edi, [edi + edi*2]
lea edi, [edi + ecx*2]
mov ebx, ecx
xor ebx, edx
or ecx, edx
sub edx, edi
add eax, 0x25e575d9
mov dword [esi + 8], eax
add ebx, edx
mov edi, dword [0x10075cf0]
add ecx, ebx
add ecx, 0xa
cmp dword [0x10075cec], ecx
setl byte [esi]
lea edx, [edi + 1]
imul edx, edi
mov ecx, dword [0x1006b6dc]
mov ebx, ecx
not ebx
mov eax, dword [0x1006b6d8]
and ebx, eax
mov edi, eax
not edi
and edi, ecx
add edi, edi
lea edi, [edi + ebx*2]
mov ebx, dword [esi + 4]
xor eax, ecx
add eax, eax
sub edi, eax
and edx, 1
cmp edx, edi
mov eax, dword [esi + 8]
mov dword [ebx], eax
sete al
or al, byte [esi]
add al, 1
test al, 1
je 0x10014b60
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 0x10072358
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1007234c
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 0x1c
movaps xmm0, xmmword [0x100631b0]
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 eax, esp
mov dword [eax], 0x1178568d
push eax
push eax
push eax
mov eax, esp
mov ecx, dword [0x1006ba90]
mov edi, dword [0x1006ba94]
mov edx, ecx
and edx, edi
mov ebx, edi
not ebx
and ebx, ecx
not ecx
or ecx, edi
sub ebx, edx
add ecx, ebx
add ecx, edx
add ecx, 0x25e575da
mov dword [eax], ecx
jmp 0x100131e1
mov eax, dword [0x10075ce8]
cmp dword [0x10075ce4], 0xa
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
je 0x100133c0
jmp 0x10014ac0
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x2c]
mov dword [eax], edi
mov eax, dword [eax]
push 0x10072358
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x10072365
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov ecx, dword [esi + 0x24]
push dword [ecx]
call eax
mov dword [esi + 0x18], eax
mov ecx, dword [0x1006b69c]
mov dword [esi], ecx
mov ebx, ecx
not ebx
lea eax, [ebx + ebx]
lea edx, [ecx + eax]
add edx, 1
add eax, ecx
mov edi, edx
not edi
mov ecx, dword [0x1006b698]
and edi, ecx
add edi, eax
add edi, 1
mov eax, ecx
xor eax, edx
add eax, edi
or edx, ecx
sub eax, edx
and eax, ecx
mov edx, eax
not edx
and edx, 0xdc2ef617
lea edi, [edx + eax*2]
or eax, 0xdc2ef617
sub edi, eax
mov eax, edi
and eax, dword [esi]
sub eax, edi
sub eax, edi
or edi, dword [esi]
add edi, eax
mov dword [esi + 8], ecx
mov edx, ecx
not edx
mov dword [esi], edx
mov eax, edx
xor eax, ebx
or ebx, edx
sub ebx, eax
mov eax, ebx
neg eax
mov edx, eax
sub edx, ebx
add eax, eax
sub edx, eax
mov eax, ebx
and eax, edx
xor edx, ebx
add edx, eax
mov eax, edx
not eax
and eax, edi
add eax, edx
and edx, edi
not edx
sub edx, eax
mov edi, dword [esi]
and edi, 0x4390980b
mov eax, ecx
and eax, 0x4390980b
lea ebx, [eax + eax*2]
add ebx, edi
xor ecx, 0xbc6f67f4
mov dword [esi + 0x10], ecx
sub ebx, ecx
sub ebx, ecx
mov ecx, dword [esi]
or ecx, 0x4390980b
add ecx, ebx
mov edi, dword [esi + 8]
and edi, 0xbc6f67f4
add eax, eax
mov ebx, edi
sub ebx, eax
mov eax, dword [esi + 8]
sub ecx, eax
add ebx, eax
mov eax, dword [esi]
and eax, 0xbc6f67f4
sub ebx, eax
add ebx, dword [esi + 0x10]
sub ebx, edi
add ecx, 0x78decfe9
mov eax, ecx
and eax, ebx
mov dword [esi], eax
mov eax, ecx
or eax, ebx
not ebx
mov edi, ecx
and edi, ebx
sub edi, dword [esi]
add edi, eax
not eax
add eax, edi
sub eax, ebx
sub eax, ebx
or ebx, ecx
add ebx, eax
lea eax, [edx + 1]
xor ebx, 0xbc6f67f4
lea ecx, [edx + edx]
add ecx, 2
sub eax, ecx
mov edx, ebx
neg edx
mov ecx, eax
not ecx
and ecx, edx
lea ecx, [ecx + eax*2]
sub ecx, ebx
or edx, eax
sub ecx, edx
lea eax, [ecx + ecx]
sub eax, ecx
sub eax, ecx
sub eax, ecx
imul ecx, eax, 0x66d4fe1f
mov eax, ecx
not eax
mov edx, eax
and edx, 0x6e772119
lea edx, [ecx + edx*2]
xor ecx, 0x1188dee6
lea ecx, [edx + ecx*2]
add eax, eax
or eax, 0xdcee4232
sub ecx, eax
lea eax, [ecx + 0x1188dee7]
mov edx, eax
and edx, 0x342abd15
add ecx, ecx
add ecx, 0x2311bdce
sub ecx, edx
mov edx, eax
not edx
and edx, 0x342abd15
add edx, ecx
xor eax, 0xcbd542ea
lea ecx, [edx + eax]
add eax, edx
add eax, 0xcbd542eb
mov edx, eax
not edx
and edx, 0xee772119
add ecx, edx
add ecx, 0xcbd542eb
or eax, 0x1188dee6
add eax, ecx
imul ecx, eax, 0xc46efddf
lea eax, [ecx - 0x6957785a]
mov edx, eax
not edx
and edx, 0x36cd8f3a
lea edx, [edx + edx*2]
add ecx, edx
add ecx, 0x96a887a6
mov edx, eax
xor edx, 0x36cd8f3a
sub edx, ecx
or eax, 0x36cd8f3a
lea ecx, [edx + eax]
add eax, edx
add eax, 0x3328929e
mov edx, eax
and edx, 0x493270c5
lea ecx, [ecx + edx*2]
add ecx, 0x3328929e
mov edx, eax
not edx
and edx, 0x36cd8f3a
lea ecx, [ecx + edx*2]
xor eax, 0x36cd8f3a
add eax, eax
sub ecx, eax
add ecx, 0xc93270c6
cmp dword [esi + 0x18], ecx
mov ecx, 0xabdf193e
mov eax, 0x9b38c5a5
cmove ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x1006b990]
mov edi, dword [0x1006b994]
mov edx, ecx
and edx, edi
mov ebx, edi
not ebx
and ebx, ecx
not ecx
or ecx, edi
sub ebx, edx
add ecx, ebx
add ecx, edx
add ecx, 0xb
cmp dword [0x10075ce0], ecx
mov ebx, dword [0x10075cdc]
setl cl
setge ch
lea edi, [ebx - 1]
imul edi, ebx
mov ebx, dword [0x1006b99c]
mov dword [esi + 8], ebx
not ebx
mov edx, dword [0x1006b998]
and ebx, edx
mov eax, edx
not eax
add eax, ebx
and edx, dword [esi + 8]
add eax, edx
add eax, 1
and edi, 1
cmp edi, eax
mov eax, dword [esi + 0x14]
mov edx, dword [esi]
mov dword [eax], edx
sete al
mov dl, ch
and dl, al
mov ah, cl
or ah, al
add ah, dl
xor cl, al
not cl
add cl, ah
or ch, al
add ch, cl
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov dword [eax], 0x37895b14
test ch, 1
jne 0x10014ac0
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x2c]
mov dword [eax], edi
mov eax, dword [eax]
push 0x10072358
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x10072365
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov ecx, dword [esi + 0x24]
push dword [ecx]
call eax
mov dword [esi + 8], eax
mov eax, dword [0x1006b698]
mov ebx, dword [0x1006b69c]
mov dword [esi + 0x18], ebx
not ebx
mov edx, eax
not edx
mov edi, eax
xor edi, ebx
mov ecx, edx
and ecx, ebx
mov dword [esi], ecx
mov ecx, dword [esi]
add ecx, edi
mov dword [esi + 0x10], ecx
not edi
add edi, dword [esi + 0x10]
or ebx, edx
sub edi, ebx
and edi, eax
sub edi, dword [esi + 0x18]
mov ecx, dword [esi]
sub ecx, edi
sub ecx, edi
add ecx, edi
mov ebx, edx
and ebx, 0xbc6f67f4
mov edi, eax
and edi, 0x4390980b
sub ebx, edi
mov edi, eax
xor edi, 0x4390980b
add edi, eax
or eax, 0x4390980b
add ebx, eax
add ebx, 0x4390980c
add edi, edx
or edx, 0xbc6f67f4
sub edi, edx
add edi, 0xbc6f67f5
mov eax, edi
not eax
or edi, ebx
and ebx, eax
lea edx, [edi + ebx*2]
not edi
lea edx, [edx + edi*2]
add eax, eax
sub edx, eax
mov edi, edx
xor edi, 0xbc6f67f4
not edx
mov eax, edx
and eax, 0x4390980b
add eax, edi
or edx, 0xbc6f67f4
sub eax, edx
lea edx, [eax - 0x4390980d]
and edx, ecx
lea edx, [eax + edx*2]
mov edi, ecx
sub edi, edx
mov edx, 0x4390980c
sub edx, eax
xor edx, ecx
add edx, edi
add eax, edx
add eax, 0xbc6f67f3
add eax, ecx
imul ecx, eax, 0x992b01e1
lea eax, [ecx + 0x53658f54]
mov edx, eax
and edx, 0x342abd15
lea edx, [ecx + edx*2]
add edx, 0x53658f54
mov ecx, eax
not ecx
and ecx, 0xcbd542ea
add ecx, edx
mov edx, eax
or edx, 0xcbd542ea
sub ecx, edx
xor eax, 0x342abd15
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x97aa85d5
mov ecx, eax
and ecx, 0x1188dee6
add ecx, edx
add ecx, 0x97aa85d5
or eax, 0xee772119
sub ecx, eax
imul eax, ecx, 0xc46efddf
lea ecx, [eax - 0x24bf5d38]
mov edx, ecx
and edx, 0x3a728bd5
add eax, edx
add eax, 0xdb40a2c8
or ecx, 0xc58d742a
sub eax, ecx
add eax, 0x544d591a
cmp dword [esi + 8], eax
mov eax, 0xabdf193e
mov ecx, 0x9b38c5a5
cmove eax, ecx
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov dword [eax], 0x37895b14
jmp 0x100133e4
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006b898]
mov edi, dword [0x1006b89c]
mov edx, ecx
and edx, edi
mov ebx, edi
not ebx
and ebx, ecx
not ecx
or ecx, edi
sub ebx, edx
add ecx, ebx
add ecx, edx
add ecx, 0xabdf193f
cmp eax, ecx
mov ecx, 0xe2389b8b
mov eax, 0xad6644d5
cmove ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x1006b8a0]
mov edx, dword [0x1006b8a4]
mov edi, ecx
or ecx, edx
not edx
and edi, edx
not ecx
add ecx, edi
mov edi, dword [0x10075cd8]
sub ecx, edx
add ecx, 0xa
cmp dword [0x10075cd4], ecx
setl byte [esi + 8]
mov edx, edi
and edx, 0xfffffffe
add edx, edi
mov ebx, edi
not ebx
add ebx, edx
lea edx, [edi + ebx]
add edx, 0xb73852
imul edx, edi
mov edi, dword [0x1006b8a8]
mov ebx, edi
not ebx
mov ecx, dword [0x1006b8ac]
mov eax, ebx
and eax, ecx
xor edi, ecx
not edi
add edi, eax
or ebx, ecx
sub edi, ebx
mov ebx, dword [esi + 4]
and edx, 1
cmp edx, edi
mov eax, dword [esi]
mov dword [ebx], eax
sete al
setne cl
and cl, byte [esi + 8]
add cl, al
test cl, 1
jne 0x10014ac0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0xabdf193e
mov eax, 0xe2389b8b
mov ecx, 0xad6644d5
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1001385e
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
push 0x10072358
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1007237c
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esi + 0x24]
push dword [ecx]
call eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [0x1006b6a8]
mov eax, dword [0x1006b6ac]
mov dword [esi + 8], eax
mov edi, ecx
not edi
mov edx, eax
not edx
mov dword [esi], edx
mov eax, edi
xor eax, edx
add eax, edi
mov ebx, edi
or ebx, edx
not ebx
add ebx, eax
mov eax, edi
or eax, dword [esi + 8]
mov dword [esi + 0x20], eax
sub ebx, eax
and ebx, edi
add ebx, edi
add ebx, ecx
lea eax, [edi + ecx*2]
lea edx, [ebx + eax]
add eax, ebx
add eax, 0x49d235a4
mov ebx, eax
or ebx, 0x49d235a2
add edx, ebx
add edx, 0x49d235a4
mov ebx, eax
xor ebx, 0xb62dca5d
add ebx, edx
or eax, 0xb62dca5d
sub ebx, eax
mov dword [esi + 0x10], ebx
mov edx, ecx
and edx, dword [esi]
mov ebx, dword [esi + 8]
xor ecx, ebx
mov eax, edx
add edx, ecx
not ecx
add ecx, edx
mov edx, dword [esi]
sub ecx, edx
add ecx, edi
and edi, ebx
sub eax, edi
sub eax, edx
mov edx, dword [esi + 0x20]
add eax, edx
sub ecx, edx
mov edi, ecx
not edi
or ecx, eax
and eax, edi
lea eax, [ecx + eax*2]
not ecx
lea edx, [eax + ecx*2]
add edi, edi
sub edx, edi
mov eax, edx
not eax
mov edi, edx
and edi, 0xe28eecea
add edi, edx
mov ebx, eax
and eax, 0xe28eecea
add eax, edi
or edx, 0xe28eecea
sub eax, edx
and ebx, 0x1d711315
mov edx, eax
not edx
mov edi, ebx
and edi, edx
add edi, edi
mov ecx, ebx
xor ecx, eax
sub ecx, edi
or eax, ebx
add eax, ecx
add eax, edx
lea ecx, [ebx + eax]
add ecx, 1
mov eax, ecx
xor ecx, 0x1d711315
mov ebx, dword [esi + 0x10]
lea edi, [ebx + 0x426762ed]
mov edx, edi
and edx, ecx
lea ebx, [ebx + edx*2]
add ebx, 0x426762ed
xor eax, 0xe28eecea
mov edx, edi
not edx
and edx, eax
add edx, ebx
add edx, eax
mov ebx, edi
or ebx, eax
sub edx, ebx
xor eax, edi
not eax
add eax, edx
sub eax, ecx
mov ecx, eax
and ecx, 0xd60bce30
add ecx, eax
or eax, 0x29f431cf
sub ecx, eax
mov eax, 0xac179c62
sub eax, ecx
mov edx, eax
and edx, 0xc2d21177
sub edx, ecx
or eax, 0x3d2dee88
sub edx, eax
imul eax, edx, 0xf948b4b3
mov ecx, 0xe1cded4a
sub ecx, eax
mov edx, ecx
and edx, 0xfd505825
lea eax, [ecx + ecx]
sub eax, edx
or ecx, 0xfd505825
sub eax, ecx
add eax, 0xfaa0b04a
not eax
imul ecx, eax, 0xc512e585
mov eax, 0x3aed1a7b
sub eax, ecx
mov ecx, eax
and ecx, 0x2530e438
mov edx, eax
xor edx, 0xdacf1bc7
sub ecx, edx
or eax, 0xdacf1bc7
add eax, ecx
mov ecx, 0x2530e439
sub ecx, eax
mov dword [esi], ecx
mov edx, dword [0x1006ba08]
mov edi, dword [0x1006ba0c]
mov eax, edx
xor eax, edi
mov ecx, edx
or ecx, edi
not ecx
lea eax, [eax + ecx*2]
mov ecx, edi
not ecx
sub eax, ecx
sub eax, ecx
or ecx, edx
add ecx, eax
not edx
or edx, edi
sub ecx, edx
add ecx, 0x37895b14
cmp dword [0x10075cd0], 0xa
mov eax, dword [0x10075ccc]
setl byte [esi + 8]
lea edx, [eax + 1]
imul edx, eax
mov dword [esi + 0x10], edx
mov ebx, dword [0x1006ba18]
mov edi, ebx
not edi
mov edx, dword [0x1006ba1c]
mov dword [esi + 0x20], edx
mov eax, edi
and eax, edx
add eax, eax
mov edx, ebx
sub edx, eax
mov eax, dword [esi + 0x20]
xor ebx, eax
add ebx, edx
add ebx, eax
lea eax, [ebx + edi*2]
add eax, 2
mov edx, dword [esi + 0x10]
and edx, 1
cmp edx, eax
mov eax, dword [esi + 0x14]
mov edx, dword [esi]
mov dword [eax], edx
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x18]
mov dword [eax], edx
mov eax, dword [esi + 4]
mov dword [eax], ecx
sete al
mov dl, byte [esi + 8]
mov ecx, edx
and cl, al
xor dl, al
add dl, cl
test dl, 1
jne 0x10014ac0
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
push 0x10072358
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1007237c
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esi + 0x24]
push dword [ecx]
call eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov eax, dword [0x1006b6a8]
mov ecx, eax
xor ecx, 0x86a7cf06
mov edx, eax
sub edx, ecx
mov ecx, eax
or ecx, 0x86a7cf06
add ecx, edx
mov dword [esi + 0x10], ecx
mov edi, eax
not edi
mov edx, dword [0x1006b6ac]
mov dword [esi + 0x20], edx
mov ecx, edx
not ecx
mov dword [esi + 8], ecx
lea ecx, [edx + ecx*2]
add ecx, 1
mov edx, edi
and edi, ecx
mov ebx, edx
xor ebx, ecx
add edi, ebx
or ecx, edx
not ecx
add ecx, edi
add ecx, ebx
add ecx, 1
mov dword [esi], ecx
mov edi, ecx
and edi, edx
mov ebx, edx
mov dword [esi + 0x48], edx
lea edi, [edi + edi*2]
mov edx, ecx
mov ecx, eax
mov dword [esi + 0x4c], eax
and edx, eax
add edx, edi
mov dword [esi + 0x3c], edx
mov edx, dword [esi + 0x20]
and eax, edx
mov dword [esi + 0x54], eax
mov edi, ebx
and edi, edx
mov dword [esi + 0x50], edi
lea ebx, [edi + edi*2]
add ebx, eax
mov edi, ecx
xor edi, edx
mov eax, edx
sub ebx, edi
sub ebx, edi
or eax, ecx
add eax, ebx
mov ecx, dword [esi]
not ecx
mov edx, dword [esi + 0x3c]
lea edx, [edx + ecx*2]
mov dword [esi + 0x20], edx
mov ebx, dword [esi + 0x48]
or ecx, ebx
mov dword [esi], ecx
mov ecx, dword [esi + 8]
lea eax, [eax + ecx*2]
sub eax, ebx
mov dword [esi + 0x3c], eax
or ebx, 0x795830f9
mov eax, dword [esi + 0x10]
lea ecx, [ebx + eax]
add ecx, 0x86a7cf07
mov ebx, ecx
and ebx, 0x86a7cf05
mov eax, ecx
xor eax, 0x795830fa
sub ebx, eax
or ecx, 0x795830fa
lea eax, [ebx + ecx]
mov dword [esi + 0x10], eax
add ecx, ebx
add ecx, 0x795830fa
mov eax, dword [esi + 0x20]
sub eax, dword [esi]
mov ebx, ecx
and ebx, 0xb62dca5d
mov edx, dword [esi + 0x10]
add edx, ebx
add edx, 0x795830fa
mov ebx, ecx
not ebx
add ebx, edx
and ecx, 0x49d235a2
add ecx, ebx
add eax, ecx
add eax, 0x49d235a4
mov ecx, eax
and ecx, 0x49d235a2
or eax, 0x49d235a2
lea ebx, [ecx + eax]
mov dword [esi], ebx
add eax, ecx
add eax, 0x6c5b94bc
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 8]
and eax, ecx
add eax, eax
sub ecx, eax
sub ecx, dword [esi + 0x50]
add ecx, edi
add ecx, edi
sub ecx, dword [esi + 0x54]
mov ebx, dword [esi + 0x3c]
add ebx, 1
mov eax, ebx
and eax, ecx
mov edi, ebx
or edi, ecx
not ecx
mov edx, ebx
and edx, ecx
sub edx, eax
add edx, edi
not edi
add edi, edx
sub edi, ecx
sub edi, ecx
or ecx, ebx
add ecx, edi
mov eax, ecx
not eax
mov edx, eax
and edx, 0x1d711315
or eax, 0x1d711315
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
add edx, 0xe28eecec
add eax, ecx
not edx
and edx, ecx
and edx, 0xe28eecea
add eax, edx
add eax, 0xe28eecec
mov edx, eax
not edx
mov edi, edx
and edi, 0x628eecea
lea edi, [eax + edi*2]
mov eax, edx
and eax, 0x1d711315
add eax, edi
or edx, 0xe28eecea
sub eax, edx
mov ebx, dword [esi + 0x10]
mov edx, ebx
not edx
mov edi, edx
and edi, 0x29f431cf
mov ecx, dword [esi]
lea edi, [ecx + edi*2]
add edi, 0x6c5b94bc
xor ebx, 0x560bce30
lea edi, [edi + ebx*2]
add edx, edx
or edx, 0x53e8639e
sub edi, edx
mov edx, eax
not edx
lea ecx, [edi - 0x29f431cf]
and edx, ecx
add edi, edi
add edi, 0xac179c62
sub edi, edx
add edi, eax
mov edx, ecx
or edx, eax
not edx
add edx, edi
xor eax, ecx
lea ecx, [edx + eax]
add eax, edx
add eax, 1
mov edx, eax
not edx
and edx, 0x29f431cf
add ecx, edx
add ecx, 1
or eax, 0xd60bce30
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x29f431d0
lea ecx, [eax + eax*2]
sub eax, ecx
lea ecx, [eax + edx]
add ecx, 0x29f431d0
add eax, edx
add eax, 0x67222058
add ecx, ecx
add ecx, 0x7a5bdd10
mov edx, ecx
sub edx, eax
sub edx, ecx
imul eax, edx, 0x6b74b4d
mov edx, eax
neg edx
mov ecx, edx
and ecx, 0xfd505825
and edx, 0x2afa7da
sub edx, ecx
sub edx, eax
add eax, 0xffffffff
or eax, 0xfd505825
add eax, edx
add eax, ecx
imul eax, eax, 0x3aed1a7b
mov ecx, 0xea43c9be
sub ecx, eax
mov eax, ecx
and eax, 0xdacf1bc7
or ecx, 0xdacf1bc7
add ecx, eax
neg ecx
mov eax, dword [esi + 0x14]
mov dword [eax], ecx
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x18]
mov dword [eax], ecx
mov eax, dword [esi + 4]
mov dword [eax], 0x37895b14
jmp 0x1001393c
mov edx, dword [0x1006b938]
mov ecx, dword [0x1006b93c]
mov eax, edx
or eax, ecx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
add eax, 0x37895b14
mov dword [edi], eax
mov eax, dword [0x10075cc8]
mov ecx, dword [0x1006b944]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xb
cmp dword [0x10075cc4], ecx
setl cl
mov edx, eax
not edx
add edx, eax
add edx, eax
add edx, 0x5c6d7278
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x10014ac0
mov dword [edi], 0x37895b14
jmp 0x10013e84
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0x9b38c5a5
mov ecx, 0xe2389b8b
mov eax, 0xf62d3d5d
cmove ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x1006b8f0]
mov edi, dword [0x1006b8f4]
mov edx, ecx
and edx, edi
mov ebx, ecx
or ebx, edi
sub ebx, edx
sub ebx, edx
xor ecx, edi
not ecx
add ecx, ebx
mov ebx, dword [esi + 4]
lea eax, [edx + ecx]
add eax, 0xb
cmp dword [0x10075cc0], eax
mov eax, dword [0x10075cbc]
setl cl
mov edx, eax
not edx
add edx, 2
imul edx, eax
mov eax, dword [0x1006b8fc]
mov edi, eax
not edi
or edi, eax
mov eax, dword [0x1006b8f8]
and edi, eax
sub edi, eax
and edx, 1
cmp edx, edi
mov eax, dword [esi]
mov dword [ebx], eax
sete al
or al, cl
jne 0x10014ac0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006baf0]
mov edx, dword [0x1006baf4]
mov edi, ecx
or edi, edx
not ecx
or ecx, edx
not edx
add edx, edi
add ecx, edx
add ecx, 0x9b38c5a7
cmp eax, ecx
mov eax, 0xe2389b8b
mov ecx, 0xf62d3d5d
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10013ee9
push 0x10072358
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x10072373
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [esi + 0x34]
mov ecx, dword [edi]
push 0
push dword [esi + 0x40]
push dword [ecx]
mov ebx, dword [esi + 0x38]
push dword [ebx]
mov ecx, dword [esi + 0x24]
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 [0x1006b9d8]
mov edx, dword [0x1006b9dc]
mov ecx, eax
not ecx
mov edi, ecx
and edi, edx
xor eax, edx
not eax
add eax, edi
or ecx, edx
sub eax, ecx
add eax, 0x9b38c5a5
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [ebx]
mov dword [esi], eax
mov ecx, dword [0x1006b9e8]
mov edi, dword [0x1006b9ec]
mov edx, ecx
and edx, edi
mov ebx, ecx
or ebx, edi
sub ebx, edx
sub ebx, edx
xor ecx, edi
not ecx
add ecx, ebx
mov eax, dword [0x10075cb8]
add ecx, edx
add ecx, 0xb
cmp dword [0x10075cb4], ecx
setl cl
mov edx, eax
not edx
add edx, 0x659b0996
imul edx, eax
mov eax, dword [0x1006b9f4]
mov edi, eax
not edi
or edi, eax
mov eax, dword [0x1006b9f0]
and edi, eax
sub edi, eax
and edx, 1
cmp edx, edi
mov eax, dword [esi + 0x1c]
mov edx, dword [esi]
mov dword [eax], edx
sete al
or al, cl
mov eax, dword [esi + 4]
mov dword [eax], 0x37895b14
jne 0x10014ac0
push 0x10072358
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x10072373
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [esi + 0x34]
mov ecx, dword [edi]
push 0
push dword [esi + 0x40]
push dword [ecx]
mov ebx, dword [esi + 0x38]
push dword [ebx]
mov ecx, dword [esi + 0x24]
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 [0x1006bb20]
mov edx, dword [0x1006bb24]
mov ecx, eax
not ecx
mov edi, ecx
and edi, edx
or eax, edx
not eax
add eax, edi
sub eax, ecx
add eax, 0x9b38c5a5
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [ebx]
mov ecx, dword [esi + 0x1c]
mov dword [ecx], eax
mov eax, dword [0x1006bb28]
mov edi, dword [0x1006bb2c]
mov ecx, eax
and ecx, edi
mov edx, edi
not edx
mov ebx, edi
or ebx, edx
and ebx, eax
or eax, edi
sub eax, ebx
add eax, edx
add eax, ecx
add eax, 0x37895b15
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x10013fa4
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1006b730]
mov edx, dword [0x1006b734]
mov ecx, eax
and ecx, edx
mov edi, eax
or edi, edx
sub edi, ecx
sub edi, ecx
mov ebx, dword [esi + 4]
xor eax, edx
not eax
add eax, edi
add eax, ecx
add eax, 0xafaf37df
mov dword [ebx], eax
mov eax, dword [0x1006b738]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
mov edx, dword [0x10075cb0]
cmp dword [0x10075cac], eax
setl al
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
mov ah, al
and ah, dl
and cl, al
add cl, ah
add cl, al
or al, dl
add al, cl
test al, 1
jne 0x10014ac0
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [0x1006ba98]
mov ecx, dword [0x1006ba9c]
mov edx, eax
or eax, ecx
not ecx
and edx, ecx
not eax
add eax, edx
sub eax, ecx
add eax, 0xafaf37de
mov dword [ebx], eax
jmp 0x1001410d
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0xc2d21177
mov eax, 0xb72f04dc
mov ecx, 0x2b47af
cmovl eax, ecx
mov dword [ebx], eax
mov edx, dword [0x10075ca8]
cmp dword [0x10075ca4], 0xa
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
jne 0x10014ac0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006baa0]
mov edx, dword [0x1006baa4]
mov edi, edx
not edi
and edi, ecx
mov ebx, ecx
not ebx
add ebx, edi
and ecx, edx
add ecx, ebx
add ecx, 0xc2d21178
mov ebx, dword [esi + 4]
cmp eax, ecx
mov eax, 0xb72f04dc
mov ecx, 0x2b47af
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x100141ae
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006b784]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xfd52d518
cmp eax, ecx
mov eax, 0xd2be7a38
mov ecx, 0xe0f31342
cmovl eax, ecx
mov dword [ebx], eax
mov eax, dword [0x1006b788]
mov ecx, dword [0x1006b78c]
mov edx, eax
and edx, ecx
sub edx, eax
mov edi, eax
xor edi, ecx
add edi, edx
not ecx
or ecx, eax
mov edx, dword [0x10075ca0]
lea eax, [ecx + edi]
add eax, 0xb
cmp dword [0x10075c9c], eax
setl al
lea ecx, [edx + edx]
sub ecx, edx
add ecx, 1
imul ecx, edx
test cl, 1
sete dl
mov ah, al
or ah, dl
mov dh, ah
not dh
add dh, ah
xor dl, al
not dl
add dl, dh
add dl, cl
or al, cl
add al, dl
test al, 1
jne 0x10014ac0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006baa8]
mov edi, dword [0x1006baac]
mov edx, ecx
not edx
mov ebx, edx
and ebx, edi
xor ecx, edi
not ecx
add ecx, ebx
mov ebx, dword [esi + 4]
or edx, edi
sub ecx, edx
add ecx, 0xfd52d517
cmp eax, ecx
mov eax, 0xd2be7a38
mov ecx, 0xe0f31342
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x1001423f
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov edx, dword [0x1006b7a8]
mov edi, dword [0x1006b7ac]
mov ecx, edx
or ecx, edi
not ecx
add ecx, edi
not edx
or edx, edi
sub ecx, edx
add ecx, 0x1178568d
cmp eax, ecx
mov ecx, 0x20945ee0
mov eax, 0x729a71f4
cmovl ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x1006b7b0]
mov edx, dword [0x1006b7b4]
mov edi, ecx
and edi, edx
mov ebx, ecx
or ebx, edx
sub ebx, edi
xor ecx, edx
mov eax, dword [0x10075c98]
not ecx
add ecx, ebx
add ecx, 0xb
cmp dword [0x10075c94], ecx
setge dh
setl dl
lea edi, [eax - 1]
imul edi, eax
mov ebx, dword [0x1006b7b8]
mov eax, ebx
not eax
mov ecx, dword [0x1006b7bc]
and eax, ecx
add eax, ebx
or ebx, ecx
sub eax, ebx
mov ebx, dword [esi + 4]
and edi, 1
cmp edi, eax
mov eax, dword [esi]
mov dword [ebx], eax
setne al
sete cl
mov ah, dl
xor ah, cl
or dl, cl
add dl, ah
add dl, al
add dl, dh
test dl, 1
jne 0x10014ac0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006bab0]
mov edx, dword [0x1006bab4]
mov edi, edx
not edi
and edi, ecx
add edi, edx
or ecx, edx
sub ecx, edi
add ecx, 0x1178568d
cmp eax, ecx
mov eax, 0x20945ee0
mov ecx, 0x729a71f4
cmovl eax, ecx
mov dword [ebx], eax
jmp 0x10014308
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov edx, dword [0x1006b7d0]
mov edi, dword [0x1006b7d4]
mov ecx, edi
not ecx
and ecx, edx
add ecx, edi
or edx, edi
sub ecx, edx
add ecx, 0x1178568d
cmp eax, ecx
mov eax, 0xe2389b8b
mov ecx, 0xa744359b
cmove eax, ecx
cmp dword [0x10075c90], 0xa
mov edi, dword [0x10075c8c]
setl byte [esi]
lea edx, [edi + 1]
imul edx, edi
mov edi, dword [0x1006b7e4]
mov ebx, edi
not ebx
mov ecx, dword [0x1006b7e0]
and ebx, ecx
add ebx, edi
or ecx, edi
sub ebx, ecx
and edx, 1
cmp edx, ebx
mov ebx, dword [esi + 4]
mov dword [ebx], eax
sete al
or al, byte [esi]
jne 0x10014ac0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0x1178568d
mov eax, 0xe2389b8b
mov ecx, 0xa744359b
cmove eax, ecx
mov dword [ebx], eax
jmp 0x100143ec
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi], eax
mov ecx, dword [0x1006b7f8]
mov edi, dword [0x1006b7fc]
mov edx, ecx
and edx, edi
mov eax, edi
not eax
mov ebx, edi
or ebx, eax
and ebx, ecx
or ecx, edi
sub ecx, ebx
mov ebx, dword [esi + 4]
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xfd52d518
cmp dword [esi], eax
mov eax, 0xe2389b8b
mov ecx, 0x615795cd
cmove eax, ecx
mov dword [ebx], eax
mov eax, dword [0x1006b800]
mov ecx, dword [0x1006b804]
mov edx, eax
xor edx, ecx
mov edi, eax
or edi, ecx
sub edi, edx
and eax, ecx
not eax
add eax, edi
add eax, 0xb
mov ecx, dword [0x10075c88]
cmp dword [0x10075c84], eax
setl al
lea edx, [ecx + 0x684de147]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10014ac0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0xfd52d517
mov eax, 0xe2389b8b
mov ecx, 0x615795cd
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1001447f
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006b820]
mov edx, dword [0x1006b824]
mov edi, ecx
and edi, edx
mov ebx, ecx
xor ebx, edx
add ebx, edi
or ecx, edx
sub ebx, ecx
add ebx, 0xc2d21177
cmp eax, ebx
mov ecx, 0xe2389b8b
mov eax, 0x80b96750
cmove ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x1006b828]
mov edx, dword [0x1006b82c]
mov edi, ecx
and edi, edx
mov ebx, ecx
or ebx, edx
not ebx
add ebx, edi
xor ecx, edx
mov edx, dword [0x10075c80]
add ecx, ebx
add ecx, 0xb
cmp dword [0x10075c7c], ecx
setge ch
setl cl
lea edi, [edx - 1]
imul edi, edx
mov ebx, dword [0x1006b830]
mov edx, ebx
not edx
mov eax, dword [0x1006b834]
mov dword [esi + 0x18], eax
lea eax, [ebx + edx*2]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x18]
or edx, eax
sub edx, dword [esi + 8]
and ebx, eax
not ebx
add ebx, edx
and edi, 1
cmp edi, ebx
mov ebx, dword [esi + 4]
mov eax, dword [esi]
mov dword [ebx], eax
sete al
setne dl
and dl, cl
mov ah, cl
or ah, al
add ah, dl
add ah, ch
and cl, al
not cl
add cl, ah
test cl, 1
jne 0x10014ac0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0xc2d21177
mov eax, 0xe2389b8b
mov ecx, 0x80b96750
cmove eax, ecx
mov dword [ebx], eax
jmp 0x10014524
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x1006b848]
mov edx, dword [0x1006b84c]
mov ebx, edx
not ebx
and ebx, ecx
add ebx, ebx
mov edi, ecx
sub edi, ebx
mov ebx, ecx
not ebx
and ebx, edx
sub edi, ebx
mov ebx, ecx
xor ebx, edx
add ebx, edi
and ecx, edx
not ecx
add ecx, ebx
add ecx, 0xaa159ce7
cmp eax, ecx
mov eax, 0x72ec0281
mov ecx, 0x34f94c95
cmovl eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [0x1006b850]
mov ecx, dword [0x1006b854]
mov edi, eax
and edi, ecx
mov edx, eax
or edx, ecx
not ecx
mov ebx, eax
and ebx, ecx
sub ebx, edi
not edx
add edx, ebx
sub edx, ecx
sub edx, ecx
or ecx, eax
mov edi, dword [0x10075c78]
lea eax, [edx + ecx]
add eax, 0xa
cmp dword [0x10075c74], eax
setge al
setl cl
lea edx, [edi - 1]
imul edx, edi
test dl, 1
sete dl
mov ah, cl
and ah, dl
add ah, dl
or cl, dl
add ah, cl
not cl
add cl, ah
add cl, al
test cl, 1
jne 0x10014ac0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi], eax
mov eax, dword [0x1006bad0]
mov ecx, dword [0x1006bad4]
mov edx, eax
and edx, ecx
sub edx, eax
mov edi, eax
not edi
mov ebx, edi
and ebx, ecx
add ebx, edx
or edi, ecx
not ecx
or ecx, eax
add ecx, ebx
sub ecx, edi
add ecx, 0xaa159ce6
cmp dword [esi], ecx
mov eax, 0x72ec0281
mov ecx, 0x34f94c95
cmovl eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x10014600
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov edi, dword [0x1006b870]
mov edx, dword [0x1006b874]
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 edi, ecx
add edi, 0xabdf193e
cmp eax, edi
mov ecx, 0xd66035a3
mov eax, 0x750d46a9
cmovl ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x1006b878]
mov eax, dword [0x1006b87c]
mov edx, ecx
and edx, eax
mov edi, ecx
or edi, eax
not edi
add edi, edx
xor ecx, eax
lea eax, [ecx + edi]
add eax, 0xb
cmp dword [0x10075c70], eax
mov eax, dword [0x10075c6c]
setl dh
setge dl
mov edi, eax
not edi
add edi, eax
add edi, eax
add edi, 0xb4a5d692
imul edi, eax
mov eax, dword [0x1006b880]
mov ecx, dword [0x1006b884]
mov ebx, eax
or ebx, ecx
not ebx
add ebx, ecx
not eax
or eax, ecx
sub ebx, eax
and edi, 1
cmp edi, ebx
mov edi, dword [esi + 4]
mov eax, dword [esi]
mov dword [edi], eax
sete al
and dl, al
add dl, al
xor dh, al
add dh, dl
test dh, 1
jne 0x10014ac0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0xabdf193e
mov eax, 0xd66035a3
mov ecx, 0x750d46a9
cmovl eax, ecx
mov dword [edi], eax
jmp 0x100146f8
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0xaa159ce6
mov eax, 0xe2389b8b
mov ecx, 0xc4d45e44
cmove eax, ecx
mov edi, dword [0x10075c68]
cmp dword [0x10075c64], 0xa
setl byte [esi]
lea edx, [edi - 1]
imul edx, edi
mov edi, dword [0x1006b8d0]
mov ebx, dword [0x1006b8d4]
mov ecx, edi
or ecx, ebx
not edi
or edi, ebx
not ebx
add ebx, ecx
lea ecx, [edi + ebx]
add ecx, 2
mov edi, dword [esi + 4]
and edx, 1
cmp edx, ecx
mov dword [edi], eax
sete al
or al, byte [esi]
jne 0x10014ac0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0xaa159ce6
mov eax, 0xe2389b8b
mov ecx, 0xc4d45e44
cmove eax, ecx
mov dword [edi], eax
jmp 0x100147cf
mov dword [edi], 0x3b0b8df
mov eax, dword [0x10075c60]
cmp dword [0x10075c5c], 0xa
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x10014ac0
mov dword [edi], 0x3b0b8df
jmp 0x1001484a
mov eax, dword [esi + 0x44]
cmp byte [eax], 0
mov eax, 0xaa159ce6
mov ecx, 0xc2d21177
cmovne eax, ecx
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [0x1006b960]
mov ecx, dword [0x1006b964]
mov edx, eax
or eax, ecx
not ecx
and edx, ecx
not eax
add eax, eax
lea eax, [eax + edx*2]
add ecx, ecx
sub eax, ecx
add eax, 0x37895b14
mov dword [edi], eax
mov ecx, dword [0x1006b968]
mov edx, dword [str.HGhc]
mov eax, ecx
or eax, edx
not eax
add eax, edx
not ecx
or ecx, edx
mov edx, dword [0x10075c58]
sub eax, ecx
add eax, 0xa
cmp dword [0x10075c54], eax
setl al
setge cl
lea ebx, [edx - 1]
imul ebx, edx
test bl, 1
mov edi, dword [esi + 4]
sete dl
and dl, cl
add dl, al
mov eax, dword [esi + 0x28]
mov dword [eax], 0
test dl, 1
jne 0x10014ac0
mov eax, dword [esi + 0x44]
cmp byte [eax], 0
mov eax, 0xaa159ce6
mov ecx, 0xc2d21177
cmovne eax, ecx
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [0x1006bb08]
and eax, dword [0x1006bb0c]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0x37895b15
mov dword [edi], eax
mov eax, dword [esi + 0x28]
mov dword [eax], 0
jmp 0x1001487b
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov eax, dword [eax]
push dword [eax]
call fcn.1005a1d0
add esp, 4
mov ecx, dword [esi + 0x38]
mov dword [ecx], eax
cmp dword [ecx], 0
mov eax, 0xfd52d517
mov ecx, 0x9b38c5a5
cmove eax, ecx
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov ecx, dword [0x1006b9b0]
mov eax, dword [0x1006b9b4]
mov ebx, ecx
and ebx, eax
sub ebx, ecx
mov edx, ecx
not edx
mov edi, edx
and edi, eax
add edi, ebx
mov ebx, dword [esi + 4]
or edx, eax
not eax
or eax, ecx
add eax, edi
sub eax, edx
add eax, 0x37895b14
mov dword [ebx], eax
mov ecx, dword [0x10075c50]
cmp dword [0x10075c4c], 0xa
setge dl
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
or cl, dl
add cl, al
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
test cl, 1
jne 0x10014ac0
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov eax, dword [eax]
push dword [eax]
call fcn.1005a1d0
add esp, 4
mov ecx, dword [esi + 0x38]
mov dword [ecx], eax
cmp dword [ecx], 0
mov eax, 0xfd52d517
mov ecx, 0x9b38c5a5
cmove eax, ecx
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov ecx, dword [0x1006bb18]
mov edx, dword [0x1006bb1c]
mov eax, edx
not eax
and eax, ecx
add eax, edx
or ecx, edx
sub eax, ecx
add eax, 0x37895b14
mov dword [ebx], eax
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
jmp 0x1001494a
mov ecx, dword [0x1006ba50]
mov dword [esi + 8], ecx
mov edx, dword [0x1006ba54]
mov eax, ecx
and eax, edx
sub eax, edx
or edx, ecx
add edx, eax
mov dword [esi + 0x18], edx
mov eax, dword [0x10075c48]
cmp dword [0x10075c44], 0xa
mov edi, eax
not edi
setl byte [esi + 0x10]
add edi, 2
imul edi, eax
mov eax, dword [0x1006ba60]
mov ecx, eax
not ecx
mov ebx, dword [0x1006ba64]
mov dword [esi], ebx
mov edx, ecx
and edx, ebx
lea edx, [eax + edx*2]
mov ebx, eax
xor ebx, dword [esi]
sub edx, ebx
mov ebx, dword [esi]
or eax, ebx
not eax
add eax, edx
or ecx, ebx
sub eax, ecx
and edi, 1
cmp edi, eax
mov eax, dword [esi + 8]
not eax
mov ecx, dword [esi + 0x18]
lea eax, [eax + ecx + 0x25e575da]
mov ecx, dword [esi + 4]
mov dword [ecx], eax
sete al
or al, byte [esi + 0x10]
add al, 1
test al, 1
jne 0x10014b2b
nop dword [eax + eax]
mov eax, dword [0x1006ba78]
mov ecx, dword [0x1006ba7c]
mov edx, eax
not edx
and edx, ecx
lea edx, [edx + edx*2]
lea edx, [edx + eax*2]
mov edi, eax
xor edi, ecx
or eax, ecx
sub ecx, edx
mov edx, dword [0x10075c40]
add edi, ecx
add eax, edi
add eax, 0xa
cmp dword [0x10075c3c], eax
setl byte [esi]
lea ecx, [edx + 1]
imul ecx, edx
mov edi, dword [0x1006ba84]
mov ebx, edi
not ebx
mov eax, dword [0x1006ba80]
and ebx, eax
mov edx, eax
not edx
and edx, edi
add edx, edx
lea edx, [edx + ebx*2]
xor eax, edi
add eax, eax
sub edx, eax
and ecx, 1
cmp ecx, edx
sete al
or al, byte [esi]
je 0x10014ac0
jmp 0x10014b60
mov ecx, dword [0x1006bb38]
mov eax, dword [0x1006bb3c]
mov ebx, ecx
and ebx, eax
sub ebx, ecx
mov edx, ecx
not edx
mov edi, edx
and edi, eax
add edi, ebx
or edx, eax
not eax
or eax, ecx
add eax, edi
sub eax, edx
add eax, 0x25e575d9
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x10014a33
mov ebx, dword [esi + 4]
mov eax, dword [0x1006b6f0]
mov edx, dword [0x1006b6f4]
mov ecx, eax
not ecx
mov edi, ecx
and edi, edx
xor eax, edx
not eax
add eax, edi
or ecx, edx
sub eax, ecx
mov ecx, dword [0x10075c38]
add eax, 0xa
cmp dword [0x10075c34], eax
setl al
lea edx, [ecx - 0x371c74ff]
imul edx, ecx
test dl, 1
sete cl
or cl, al
mov eax, dword [ebx]
add cl, 1
test cl, 1
jne 0x10014b63
cmp eax, 0x2b47ae
jg 0x10014c50
cmp eax, 0xd2be7a37
jg 0x10014d00
cmp eax, 0xafaf37dd
jle 0x10014e05
cmp eax, 0xafaf37de
je 0x10014f82
cmp eax, 0xb72f04dc
je 0x10014fb1
cmp eax, 0xc4d45e44
jne 0x100133c0
mov eax, dword [0x1006b978]
mov ecx, dword [0x1006b97c]
mov edx, ecx
not edx
mov edi, eax
and edi, edx
add edi, edi
xor ecx, eax
sub ecx, edi
add ecx, edx
add eax, ecx
add eax, 0xb
mov ecx, dword [0x10075c30]
cmp dword [0x10075c2c], eax
setl al
mov edx, 1
sub edx, ecx
imul edx, ecx
test dl, 1
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x100133e4
jmp 0x100136bf
cmp eax, 0x37895b13
jg 0x10014d90
cmp eax, 0x20945edf
jle 0x10014e5e
cmp eax, 0x20945ee0
je 0x10015021
cmp eax, 0x25e575d9
je 0x1001506c
cmp eax, 0x34f94c95
jne 0x100133c0
mov eax, dword [0x10075c28]
mov edx, eax
not edx
cmp dword [0x10075c24], 0xa
setl cl
setge ch
add edx, 2
imul edx, eax
mov edi, dword [0x1006b8e4]
mov dword [esi], edi
not edi
mov eax, dword [0x1006b8e0]
mov ebx, eax
and ebx, edi
mov dword [esi + 8], ebx
mov ebx, eax
xor ebx, dword [esi]
not ebx
add ebx, dword [esi + 8]
sub ebx, edi
not eax
add ebx, eax
or eax, dword [esi]
sub ebx, eax
and edx, 1
cmp edx, ebx
mov ebx, dword [esi + 4]
sete al
mov dl, ch
and dl, al
mov ah, cl
or ah, al
add ah, dl
xor cl, al
not cl
add cl, ah
or ch, al
add ch, cl
add ch, 1
test ch, 1
je 0x10013ee9
jmp 0x10013f69
cmp eax, 0xe0f31341
jle 0x10014ee8
cmp eax, 0xe0f31342
je 0x100150de
cmp eax, 0xe2389b8b
je 0x10015146
cmp eax, 0xf62d3d5d
jne 0x100133c0
mov ecx, dword [0x10075c20]
mov eax, dword [0x1006b9f8]
mov edx, dword [0x1006b9fc]
mov edi, edx
not edi
or edi, edx
and edi, eax
sub edi, eax
add edi, 0xa
cmp dword [0x10075c1c], edi
setl byte [esi]
lea edx, [ecx - 1]
imul edx, ecx
mov eax, dword [0x1006ba00]
mov ecx, eax
not ecx
mov ebx, dword [0x1006ba04]
mov edi, ecx
or edi, ebx
sub ecx, edi
and eax, ebx
add eax, ecx
and edx, 1
cmp edx, eax
sete al
or al, byte [esi]
add al, 1
test al, 1
je 0x1001393c
jmp 0x10013bac
cmp eax, 0x729a71f3
jle 0x10014f28
cmp eax, 0x729a71f4
je 0x100151a8
cmp eax, 0x72ec0281
je 0x100151ff
cmp eax, 0x750d46a9
jne 0x100133c0
mov edi, dword [0x10075c18]
cmp dword [0x10075c14], 0xa
setge al
setl dl
lea ecx, [edi + 1]
imul ecx, edi
test cl, 1
sete ah
mov dh, dl
and dh, ah
add dh, dl
mov ebx, eax
and bl, ah
add bl, dh
or cl, dl
or dl, ah
add dl, bl
mov edi, dword [esi + 4]
add cl, dl
or al, ah
add al, cl
add al, 1
test al, 1
je 0x100147cf
jmp 0x1001482f
cmp eax, 0xa744359b
je 0x10015264
cmp eax, 0xad6644d5
jne 0x1001541f
mov eax, dword [0x1006b9a0]
mov ecx, dword [0x1006b9a4]
mov edx, ecx
not edx
and edx, eax
add edx, ecx
or eax, ecx
sub eax, edx
add eax, 0xa
cmp dword [0x10075c10], eax
mov eax, dword [0x10075c0c]
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x1001494a
jmp 0x100149d8
cmp eax, 0x2b47af
je 0x10015300
cmp eax, 0x3b0b8df
jne 0x100133c0
mov ecx, dword [0x1006b928]
mov eax, dword [0x1006b92c]
mov edi, eax
not edi
mov edx, ecx
and edx, edi
xor eax, ecx
not eax
add eax, edx
mov edx, dword [0x10075c08]
or edi, ecx
sub eax, edi
add eax, 0xa
cmp dword [0x10075c04], eax
setge al
setl cl
mov edi, edx
and edi, 0xfffffffe
add edi, edx
mov ebx, edx
not ebx
and ebx, 1
add ebx, edi
mov edi, edx
xor edi, 1
sub ebx, edi
add ebx, 1
imul ebx, edx
test bl, 1
sete dl
and bl, cl
add bl, cl
and al, dl
add al, bl
mov edi, dword [esi + 4]
add al, dl
or cl, dl
add cl, al
test cl, 1
jne 0x10013e84
jmp 0x10013ee1
cmp eax, 0xd2be7a38
je 0x10015359
cmp eax, 0xd66035a3
jne 0x100133c0
cmp dword [0x10075c00], 0xa
mov eax, dword [0x10075bfc]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x1001385e
jmp 0x1001391e
cmp eax, 0x37895b14
je 0x100153b2
cmp eax, 0x615795cd
jne 0x100133c0
mov edi, dword [0x10075bf8]
cmp dword [0x10075bf4], 0xa
setge al
setl cl
lea edx, [edi + 1]
imul edx, edi
and edx, 1
sete ah
mov ch, cl
and ch, dl
mov ebx, ecx
or bl, ah
add bl, ch
xor cl, ah
not cl
add cl, bl
add cl, dl
add cl, al
or al, ah
add al, cl
test al, 1
jne 0x10013fa4
jmp 0x10014079
mov ecx, dword [0x10075bf0]
cmp dword [0x10075bec], 0xa
setl dl
mov eax, ecx
not eax
add eax, ecx
add eax, ecx
imul eax, ecx
test al, 1
sete al
or al, dl
cmp al, 1
je 0x100141ae
jmp 0x100141ff
mov ecx, dword [0x1006b770]
mov edx, dword [0x1006b774]
mov eax, ecx
xor eax, ecx
not eax
and eax, edx
xor eax, ecx
xor ecx, edx
mov edx, dword [0x10075be8]
sub eax, ecx
add eax, 0xa
cmp dword [0x10075be4], eax
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x1006b778]
mov edi, edx
not edi
or edi, edx
mov edx, dword [0x1006b77c]
and edi, edx
sub edi, edx
and ecx, 1
cmp ecx, edi
setne cl
sete dl
or dl, al
or cl, al
add al, dl
not dl
add dl, al
add cl, dl
add cl, 1
test cl, 1
je 0x1001423f
jmp 0x100142c6
mov eax, dword [0x1006b7c4]
mov ecx, eax
not ecx
or ecx, eax
not ecx
and ecx, dword [0x1006b7c0]
mov edx, dword [0x10075be0]
add ecx, 0xa
cmp dword [0x10075bdc], ecx
setl al
setge ah
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
and ah, dl
xor al, dl
not al
add al, ah
add al, cl
test al, 1
jne 0x100143ec
jmp 0x10014461
mov edx, dword [0x10075bd8]
mov eax, dword [0x1006b720]
and eax, dword [0x1006b724]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10075bd4], eax
setl byte [esi]
mov ecx, edx
and ecx, 0xfffffffe
add ecx, edx
add ecx, edx
mov edi, edx
not edi
add ecx, edi
add ecx, 2
imul ecx, edx
mov edx, dword [0x1006b728]
mov edi, edx
not edi
mov ebx, dword [0x1006b72c]
mov eax, edi
and eax, ebx
xor edx, ebx
not edx
add edx, eax
or edi, ebx
mov ebx, dword [esi + 4]
sub edx, edi
and ecx, 1
cmp ecx, edx
sete al
or al, byte [esi]
add al, 1
test al, 1
je 0x1001410d
jmp 0x1001417f
mov eax, dword [0x1006b810]
mov ecx, dword [0x1006b814]
mov edx, eax
xor edx, ecx
mov edi, eax
or edi, ecx
not edi
lea edi, [edx + edi*2]
mov edx, ecx
not edx
sub edi, edx
sub edi, edx
mov ebx, dword [esi + 4]
or edx, eax
add edx, edi
not eax
or eax, ecx
sub edx, eax
mov edi, dword [0x10075bd0]
add edx, 0xa
cmp dword [0x10075bcc], edx
setl al
lea ecx, [edi + 1]
imul ecx, edi
test cl, 1
sete dl
mov ah, al
or ah, dl
add ah, al
xor al, dl
not al
add al, ah
add al, cl
add al, 1
test al, 1
je 0x10014524
jmp 0x100145e2
mov ecx, dword [0x10075bc8]
mov eax, dword [0x1006b900]
mov edx, dword [0x1006b904]
mov edi, edx
not edi
or edi, edx
and edi, eax
sub edi, eax
add edi, 0xa
cmp dword [0x10075bc4], edi
setl byte [esi]
lea edx, [ecx + 1]
imul edx, ecx
mov eax, dword [0x1006b908]
mov ecx, eax
not ecx
mov ebx, dword [0x1006b90c]
mov edi, ecx
or edi, ebx
sub ecx, edi
and eax, ebx
mov edi, dword [esi + 4]
add eax, ecx
and edx, 1
cmp edx, eax
sete al
or al, byte [esi]
add al, 1
test al, 1
je 0x1001484a
jmp 0x10014873
mov edi, dword [0x10075bc0]
cmp dword [0x10075bbc], 0xa
setl al
setge ah
lea edx, [edi + 1]
imul edx, edi
mov edi, dword [0x1006b7f4]
mov ebx, edi
not ebx
mov ecx, dword [0x1006b7f0]
and ebx, ecx
add ebx, edi
or ecx, edi
sub ebx, ecx
and edx, 1
cmp edx, ebx
mov ebx, dword [esi + 4]
sete cl
mov dl, ah
and dl, cl
or al, cl
add dl, al
not al
add al, dl
add al, ah
test al, 1
jne 0x1001447f
jmp 0x10014506
mov edx, dword [0x10075bb8]
cmp dword [0x10075bb4], 0xa
setl byte [esi + 8]
mov ecx, edx
not ecx
add ecx, 0x4af99e76
imul ecx, edx
mov eax, dword [0x1006b868]
mov ebx, eax
not ebx
mov edx, dword [0x1006b86c]
mov dword [esi], edx
mov edi, ebx
and edi, edx
lea edi, [eax + edi*2]
mov edx, eax
xor edx, dword [esi]
sub edi, edx
mov edx, dword [esi]
or eax, edx
not eax
add eax, edi
or ebx, edx
sub eax, ebx
mov edi, dword [esi + 4]
and ecx, 1
cmp ecx, eax
sete al
or al, byte [esi + 8]
add al, 1
test al, 1
je 0x100146f8
jmp 0x100147b1
mov edx, dword [0x1006b950]
mov ecx, dword [0x1006b954]
mov edi, edx
or edi, ecx
mov eax, edx
xor eax, ecx
not eax
add eax, edi
not ecx
add eax, ecx
or ecx, edx
sub eax, ecx
add eax, 0xb
cmp dword [0x10075bb0], eax
mov eax, dword [0x10075bac]
setge dh
setl dl
lea ebx, [eax + 1]
imul ebx, eax
mov eax, dword [0x1006b958]
mov edi, dword [0x1006b95c]
mov dword [esi], edi
mov ecx, eax
and ecx, edi
add ecx, ecx
mov edi, eax
sub edi, ecx
not eax
mov ecx, eax
and ecx, dword [esi]
sub edi, ecx
mov ecx, dword [esi]
add edi, ecx
or eax, ecx
add eax, edi
add eax, 1
and ebx, 1
cmp ebx, eax
mov edi, dword [esi + 4]
sete al
setne cl
mov ah, dl
and ah, cl
mov ch, dl
or ch, al
add ch, ah
xor dl, al
xor dl, 1
add dl, ch
add dl, cl
add dl, dh
or dh, al
add dh, dl
add dh, 1
test dh, 1
je 0x1001487b
jmp 0x1001490c
mov edi, dword [0x10075ba8]
cmp dword [0x10075ba4], 0xa
setl al
setge ah
lea edx, [edi - 0x3ca4efc7]
imul edx, edi
mov edi, dword [0x1006b840]
mov ebx, edi
not ebx
mov ecx, dword [0x1006b844]
and ebx, ecx
add ebx, edi
or edi, ecx
sub edi, ebx
and edx, 1
cmp edx, edi
sete cl
mov dl, ah
and dl, cl
or al, cl
add dl, al
not al
add al, dl
add al, ah
add al, 1
test al, 1
je 0x10014600
jmp 0x100146ad
mov eax, dword [0x10075ba0]
cmp dword [0x10075b9c], 0xa
setl byte [esi + 8]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x1006b7a4]
mov dword [esi], edx
not edx
mov edi, dword [0x1006b7a0]
mov eax, edi
and eax, edx
mov ebx, edi
xor ebx, dword [esi]
not ebx
add ebx, eax
sub ebx, edx
not edi
add ebx, edi
or edi, dword [esi]
sub ebx, edi
and ecx, 1
cmp ecx, ebx
mov ebx, dword [esi + 4]
sete al
or al, byte [esi + 8]
add al, 1
test al, 1
je 0x10014308
jmp 0x100143b3
mov eax, dword [0x1006ba40]
mov ecx, dword [0x1006ba44]
mov edi, ecx
not edi
and edi, eax
add edi, edi
mov edx, eax
sub edx, edi
mov edi, eax
not edi
and edi, ecx
sub edx, edi
mov edi, eax
xor edi, ecx
add edi, edx
and eax, ecx
mov ecx, dword [0x10075b98]
not eax
add eax, edi
add eax, 0xb
cmp dword [0x10075b94], eax
setl al
mov edx, ecx
and edx, 1
mov edi, ecx
and edi, 0xfffffffe
sub edi, edx
add edi, ecx
lea edx, [ecx + edi]
add edx, 0xffffffff
imul edx, ecx
test dl, 1
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x10014a33
jmp 0x10014b2b
cmp eax, 0x80b96750
jne 0x100133c0
nop word [eax + eax]
mov edi, dword [0x10075b90]
cmp dword [0x10075b8c], 0xa
setl al
setge ah
lea edx, [edi + 1]
imul edx, edi
mov edi, dword [0x1006ba38]
mov ebx, edi
not ebx
mov ecx, dword [0x1006ba3c]
and ebx, ecx
add ebx, edi
or edi, ecx
sub edi, ebx
and edx, 1
cmp edx, edi
sete cl
mov dl, ah
and dl, cl
or al, cl
add dl, al
not al
add al, dl
add al, ah
mov ecx, dword [esi + 0x28]
mov edi, dword [ecx]
test al, 1
je 0x10015430
mov ecx, dword [esi + 0x58]
xor ecx, ebp
call fcn.10057270
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret