Function at 0x10015410
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, 0x50
mov esi, esp
mov eax, dword [0x1007a800]
xor eax, ebp
mov dword [esi + 0x48], eax
mov edx, dword [0x1007dab8]
mov eax, dword [0x10073630]
mov edi, dword [0x10073634]
mov ecx, eax
xor ecx, edi
not ecx
add ecx, eax
add ecx, edi
and eax, edi
not eax
lea eax, [ecx + eax*2]
add eax, 0xd
cmp dword [0x1007dab4], eax
setl byte [esi + 4]
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x10073638]
mov edi, dword [0x1007363c]
mov ebx, edx
xor ebx, edi
sub ebx, edi
sub ebx, edi
not edi
lea eax, [edi + edi*2]
sub ebx, eax
or edi, edx
lea eax, [ebx + edi*2]
not edx
add edx, eax
and ecx, 1
cmp ecx, edx
sete al
or al, byte [esi + 4]
cmp al, 1
jne 0x10015586
push eax
mov dword [esi + 0xc], esp
push eax
mov dword [esi + 0x28], 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 + 0x38], esp
push 0x1007a148
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.bSD_UDgHMDv_
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 0x1c
movaps xmm0, xmmword [0x1006b1b0]
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 + 0x3c], edi
sete byte [edi]
push eax
mov ebx, esp
mov dword [ebx], 0x9a1b10e1
push eax
mov dword [esi + 0x18], esp
push eax
mov dword [esi + 0x24], esp
push eax
mov edx, esp
mov eax, dword [0x10073648]
xor eax, dword [0x1007364c]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0x36565602
mov dword [esi + 4], edx
mov dword [edx], eax
mov edx, dword [0x1007dab0]
cmp dword [0x1007daac], 0xa
setl al
mov ecx, edx
and ecx, 1
lea edi, [edx + edx]
sub edi, ecx
mov ecx, edx
not ecx
and ecx, 1
add ecx, edi
mov edi, edx
xor edi, 1
sub ecx, edi
add ecx, 1
imul ecx, edx
test cl, 1
sete dl
mov ah, al
and ah, dl
or dl, al
add dl, ah
add dl, cl
or al, cl
add al, dl
add al, 1
test al, 1
je 0x10015622
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 0x1007a148
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.bSD_UDgHMDv_
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 0x1c
movaps xmm0, xmmword [0x1006b1b0]
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], 0x9a1b10e1
push eax
push eax
push eax
mov eax, esp
mov ecx, dword [0x10073a08]
mov edx, dword [0x10073a0c]
mov ebx, edx
not ebx
and ebx, ecx
add ebx, ebx
sub ebx, ecx
mov edi, ecx
not edi
add edi, ebx
and ecx, edx
not ecx
add ecx, ecx
sub edi, ecx
add edi, 0x36565600
mov dword [eax], edi
jmp 0x10015494
mov dword [esi + 0x14], ebx
nop word cs:[eax + eax]
nop
mov edx, dword [0x1007daa8]
mov ecx, dword [0x10073670]
mov edi, dword [0x10073674]
mov eax, ecx
or eax, edi
not eax
add eax, edi
not ecx
or ecx, edi
sub eax, ecx
add eax, 0xa
cmp dword [0x1007daa4], eax
setl cl
mov eax, edx
not eax
add eax, 0x656559e0
imul eax, edx
mov edx, dword [0x10073678]
mov edi, dword [0x1007367c]
mov ebx, edx
or edx, edi
not edi
and ebx, edi
not edx
add edx, edx
lea edx, [edx + ebx*2]
add edi, edi
sub edx, edi
and eax, 1
cmp eax, edx
sete al
setne dl
and dl, cl
add dl, cl
mov ah, cl
or ah, al
not ah
add ah, dl
and cl, al
not cl
add cl, ah
mov eax, dword [esi + 4]
mov eax, dword [eax]
test cl, 1
je 0x10015630
cmp eax, 0x2499c969
jle 0x10015720
cmp eax, 0x3fc19b52
jle 0x100157a6
cmp eax, 0x694e95ea
jg 0x100158a9
cmp eax, 0x3fc19b53
je 0x10015a98
cmp eax, 0x55878506
je 0x10015afb
cmp eax, 0x64e606c6
jne 0x10015f20
mov ecx, dword [0x1007daa0]
cmp dword [0x1007da9c], 0xa
setl dl
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
and al, dl
cmp ecx, 1
adc al, 0
add al, 1
test al, 1
je 0x1001641d
jmp 0x1001647c
cmp eax, 0xf49971b1
jg 0x10015830
cmp eax, 0xb5d30a7c
jle 0x10015933
cmp eax, 0xb5d30a7d
je 0x10015b55
cmp eax, 0xd519e37e
je 0x10015b7f
cmp eax, 0xdf97fd9f
jne 0x10015f20
mov ecx, dword [0x100739b8]
mov eax, dword [0x100739bc]
mov edi, ecx
not edi
and edi, eax
mov edx, ecx
xor edx, eax
mov ebx, edx
sub ebx, edi
not edx
add edx, ebx
not eax
or eax, ecx
sub edx, eax
add edx, 0xa
cmp dword [0x1007da98], edx
mov eax, dword [0x1007da94]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x1001603f
jmp 0x100160e5
cmp eax, 0x321d8de8
jle 0x1001599f
cmp eax, 0x321d8de9
je 0x10015bea
cmp eax, 0x36565601
je 0x10015c5d
cmp eax, 0x396acbe4
jne 0x10015f20
mov edx, dword [0x1007da90]
cmp dword [0x1007da8c], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov ebx, dword [0x100737c0]
mov edi, dword [0x100737c4]
mov edx, ebx
or edx, edi
not edx
add edx, ebx
not edi
or edi, ebx
sub edx, edi
and ecx, 1
cmp ecx, edx
sete cl
setne dl
mov ah, al
and ah, dl
mov ch, al
or ch, cl
add ch, ah
xor cl, al
not cl
add cl, ch
or al, dl
add al, cl
add al, 1
test al, 1
je 0x10016365
jmp 0x100163e1
cmp eax, 0x1b68021
jle 0x10015a36
cmp eax, 0x1b68022
je 0x10015cba
cmp eax, 0xe55b515
je 0x10015d0e
cmp eax, 0xe67ddfd
jne 0x10015f20
mov edx, dword [0x1007da88]
cmp dword [0x1007da84], 0xa
setl byte [esi]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x100738b0]
mov edi, edx
not edi
mov ebx, dword [0x100738b4]
mov eax, edi
and eax, ebx
xor edx, ebx
not edx
add edx, eax
or edi, ebx
sub edx, edi
and ecx, 1
cmp ecx, edx
sete al
or al, byte [esi]
add al, 1
test al, 1
je 0x100161e9
jmp 0x10016278
cmp eax, 0x694e95eb
je 0x10015d65
cmp eax, 0x6e2012b5
jne 0x10015f12
mov edx, dword [0x1007da80]
mov ecx, dword [0x10073808]
mov edi, dword [0x1007380c]
mov eax, ecx
xor eax, ecx
not eax
and eax, edi
xor eax, ecx
xor ecx, edi
sub eax, ecx
add eax, 0xa
cmp dword [0x1007da7c], eax
setge ah
setl al
lea edi, [edx - 1]
imul edi, edx
mov ecx, dword [0x10073810]
mov ebx, dword [0x10073814]
mov edx, ecx
and edx, ebx
not ebx
add edx, ebx
or ebx, ecx
sub edx, ebx
and edi, 1
cmp edi, edx
sete cl
setne dl
and dl, al
mov ch, al
or ch, cl
add ch, dl
add ch, ah
and al, cl
sub ch, al
test ch, 1
je 0x10016875
jmp 0x10016925
cmp eax, 0x8ad4ed62
je 0x10015dd0
cmp eax, 0x90f273fc
jne 0x10015f20
mov edx, dword [0x1007da78]
cmp dword [0x1007da74], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x10073860]
mov edi, dword [0x10073864]
mov ebx, edx
and ebx, edi
not edx
add ebx, edx
or edx, edi
sub edx, ebx
and ecx, 1
cmp ecx, edx
setne cl
sete dl
mov ah, al
and ah, dl
and cl, al
add cl, ah
add cl, al
or al, dl
add al, cl
add al, 1
test al, 1
je 0x10015f50
jmp 0x10015ffd
cmp eax, 0x2499c96a
je 0x10015e1f
cmp eax, 0x2e8d9608
jne 0x10015f20
mov ecx, dword [0x1007da70]
mov eax, dword [0x10073768]
mov edx, dword [0x1007376c]
mov edi, eax
or edi, edx
not edi
lea edi, [eax + edi*2]
xor eax, edx
not eax
sub eax, edi
not edx
add eax, edx
add eax, 0xa
cmp dword [0x1007da6c], eax
setl al
mov edx, ecx
not edx
imul edx, ecx
mov ecx, dword [0x10073770]
mov edi, ecx
not edi
mov ebx, dword [0x10073774]
mov dword [esi], ebx
mov ebx, edi
and ebx, dword [esi]
or ecx, dword [esi]
not ecx
add ecx, ebx
sub ecx, edi
and edx, 1
cmp edx, ecx
sete cl
setne dl
mov ah, al
and ah, dl
mov ch, al
or ch, cl
add ch, ah
xor cl, al
not cl
add cl, ch
or al, dl
add al, cl
test al, 1
jne 0x10016298
jmp 0x10016329
cmp eax, 0xf49971b2
je 0x10015ea2
cmp eax, 0xfdc455f1
jne 0x10015f20
mov ecx, dword [0x1007da68]
cmp dword [0x1007da64], 0xa
setl al
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
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
not al
add al, ah
test al, 1
jne 0x10016112
jmp 0x100161c8
mov edx, dword [0x1007da60]
mov eax, dword [0x100738f8]
or eax, dword [0x100738fc]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
mov ecx, edx
cmp dword [0x1007da5c], eax
not ecx
setl al
lea edi, [edx + edx]
add ecx, edi
add ecx, 0x96c447fa
imul ecx, edx
mov edx, dword [0x10073900]
mov edi, edx
not edi
or edi, edx
mov edx, dword [0x10073904]
and edi, edx
sub edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
cmp cl, 1
je 0x10016ba5
jmp 0x10016ebb
mov eax, dword [0x10073970]
mov edx, dword [0x10073974]
mov edi, eax
or edi, edx
mov ecx, eax
xor ecx, edx
not ecx
add ecx, edi
not eax
add ecx, eax
or eax, edx
sub ecx, eax
mov edx, dword [0x1007da58]
add ecx, 0xb
cmp dword [0x1007da54], ecx
setl al
lea ecx, [edx - 1]
imul ecx, edx
and ecx, 1
sete dl
mov ah, al
or ah, dl
add ah, cl
or cl, al
add cl, ah
and al, dl
not al
add al, cl
test al, 1
je 0x10017490
jmp 0x1001770a
cmp dword [0x1007da50], 0xa
mov eax, dword [0x1007da4c]
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x10016a1c
jmp 0x10016aa7
cmp dword [0x1007da48], 0xa
mov edx, dword [0x1007da44]
setl byte [esi]
mov ecx, edx
not ecx
mov edi, ecx
and edi, 1
add edi, edi
mov ebx, edx
sub ebx, edi
add ebx, ecx
add ebx, ecx
add ebx, 0xffffffff
imul ebx, edx
mov edx, dword [0x100738d8]
mov ecx, edx
not ecx
mov eax, dword [0x100738dc]
mov dword [esi + 8], eax
mov edi, ecx
and edi, eax
add edi, edi
mov eax, edx
sub eax, edi
mov edi, dword [esi + 8]
xor edx, edi
add edx, eax
add edx, edi
lea eax, [edx + ecx*2]
add eax, 2
and ebx, 1
cmp ebx, eax
sete al
or al, byte [esi]
cmp al, 1
je 0x10016ad8
jmp 0x10016b6a
mov eax, dword [0x1007da40]
mov ecx, dword [0x10073830]
mov edx, dword [0x10073834]
mov edi, ecx
or ecx, edx
not edx
and edi, edx
not ecx
add ecx, ecx
lea ecx, [ecx + edi*2]
add edx, edx
sub ecx, edx
add ecx, 0xa
cmp dword [0x1007da3c], ecx
setge dl
setl cl
mov edi, eax
and edi, 0xfffffffe
lea ebx, [eax + eax]
sub ebx, edi
mov edi, eax
not edi
or edi, 0xfffffffe
add ebx, edi
add ebx, 2
imul ebx, eax
test bl, 1
sete ah
mov al, cl
and al, ah
and dl, ah
add dl, al
or ah, cl
add ah, dl
or bl, cl
add bl, ah
not al
add al, bl
test al, 1
jne 0x1001696f
jmp 0x100169fb
mov edi, dword [0x1007da38]
cmp dword [0x1007da34], 0xa
setge al
setl cl
lea edx, [edi - 1]
imul edx, edi
mov edi, dword [0x100736ac]
mov ebx, edi
not ebx
or ebx, edi
mov edi, dword [0x100736a8]
and ebx, edi
sub ebx, edi
and edx, 1
cmp edx, ebx
sete dl
setne ah
and ah, cl
mov ch, cl
xor ch, dl
add ah, ch
or cl, dl
add cl, ah
not ch
add ch, cl
or al, dl
add al, ch
add al, 1
test al, 1
je 0x100164e7
jmp 0x1001657f
mov eax, dword [0x10073718]
mov ecx, dword [0x1007371c]
mov edx, eax
not edx
mov edi, edx
and edi, ecx
add edi, edi
xor eax, ecx
sub eax, edi
add eax, ecx
add eax, edx
add eax, 0xb
cmp dword [0x1007da30], eax
mov eax, dword [0x1007da2c]
setge cl
setl dl
mov ebx, eax
not ebx
add ebx, 4
imul ebx, eax
test bl, 1
sete al
or al, dl
add al, dl
add al, cl
test al, 1
je 0x10016640
jmp 0x100166b5
mov eax, dword [0x10073740]
mov ecx, dword [str.__ty]
mov edx, eax
and eax, ecx
not ecx
or edx, ecx
sub edx, ecx
mov ecx, dword [0x1007da28]
not eax
add eax, edx
add eax, 0xb
cmp dword [0x1007da24], eax
lea eax, [ecx + ecx]
mov edx, ecx
not edx
lea eax, [edx + eax + 0x4ffff150]
setl dl
setge dh
imul eax, ecx
test al, 1
sete al
and al, dh
add al, dl
add al, 1
test al, 1
je 0x100166f7
jmp 0x10016790
mov edi, dword [0x1007da20]
mov eax, dword [0x100737e4]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x1007da1c], eax
setl al
setge ah
lea edx, [edi + 1]
imul edx, edi
mov edi, dword [0x100737e8]
mov ecx, dword [0x100737ec]
mov ebx, edi
xor ebx, ecx
not ebx
add ebx, edi
add ebx, ecx
and edi, ecx
not edi
lea ecx, [ebx + edi*2]
add ecx, 3
and edx, 1
cmp edx, ecx
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 0x100167b1
jmp 0x10016835
mov edx, dword [0x1007da18]
cmp dword [0x1007da14], 0xa
setl cl
mov edi, edx
not edi
mov ebx, edi
and ebx, 1
add ebx, edx
mov eax, edx
xor eax, 0xfffffffe
add eax, ebx
or edi, 1
sub eax, edi
add eax, 1
imul eax, edx
test al, 1
sete dl
or dl, cl
and cl, al
add cl, dl
not dl
add dl, cl
add dl, al
add dl, 1
test dl, 1
je 0x10016597
jmp 0x1001661f
mov edi, dword [0x1007da10]
mov eax, dword [0x10073948]
mov ecx, dword [0x1007394c]
mov edx, ecx
not edx
or edx, ecx
and edx, eax
sub edx, eax
add edx, 0xa
cmp dword [0x1007da0c], edx
setl byte [esi]
setge byte [esi + 8]
mov edx, edi
not edx
add edx, edi
add edx, edi
add edx, 0x54f5838c
imul edx, edi
mov edi, dword [0x10073950]
mov ebx, edi
not ebx
mov eax, edi
or eax, ebx
mov ecx, dword [0x10073954]
and eax, ecx
or edi, ecx
not edi
add edi, eax
or ebx, ecx
sub edi, ebx
and edx, 1
cmp edx, edi
setne al
sete cl
mov ah, byte [esi + 8]
and ah, cl
mov dl, byte [esi]
or cl, dl
add cl, ah
or al, dl
add al, cl
test al, 1
je 0x10017224
jmp 0x10017356
mov edx, dword [0x10073920]
mov ecx, dword [0x10073924]
mov eax, edx
and eax, ecx
mov edi, edx
not edi
and edi, ecx
mov ebx, eax
sub ebx, edi
not ecx
or ecx, edx
mov edx, dword [0x1007da08]
sub ebx, ecx
not eax
add eax, ebx
add eax, 0xa
cmp dword [0x1007da04], eax
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x1007392c]
mov edi, edx
not edi
mov ebx, dword [0x10073928]
and edi, ebx
sub edi, ebx
not ebx
and ebx, edx
sub edi, ebx
add edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
cmp cl, 1
je 0x1001712a
jmp 0x100171c4
cmp eax, 0x7288cfed
je 0x10017970
nop dword [eax]
mov eax, dword [0x1007da00]
cmp dword [0x1007d9fc], 0xa
setl cl
lea edx, [eax + eax]
mov edi, eax
not edi
add edx, edi
add edx, 0x61557c66
imul edx, eax
test dl, 1
sete al
or al, cl
je 0x10015f20
jmp 0x100164a0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi], eax
mov ecx, dword [0x10073868]
mov edx, dword [0x1007386c]
mov ebx, edx
not ebx
and ebx, ecx
mov edi, ecx
xor edi, edx
mov eax, edi
sub eax, ebx
not edi
add edi, eax
not ecx
or ecx, edx
sub edi, ecx
add edi, 0x9a1b10e1
cmp dword [esi], edi
mov eax, 0xb5d30a7d
mov ecx, 0xd519e37e
cmove eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [0x10073870]
mov edi, dword [0x10073874]
mov ecx, eax
not ecx
mov edx, eax
or edx, ecx
and edx, edi
or eax, edi
not eax
add eax, edx
mov edx, dword [0x1007d9f8]
or ecx, edi
sub eax, ecx
add eax, 0xa
cmp dword [0x1007d9f4], eax
setge cl
setl al
mov edi, edx
not edi
and edi, 1
add edi, edx
mov ebx, edx
or ebx, 0xfffffffe
add ebx, edi
add ebx, 2
imul ebx, edx
test bl, 1
sete dl
and bl, al
mov ah, al
or ah, dl
add ah, bl
add ah, cl
and al, dl
not al
add al, ah
test al, 1
jne 0x100164a0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x10073a68]
mov edx, dword [0x10073a6c]
mov edi, ecx
not edi
mov ebx, edi
and ebx, edx
add ebx, ebx
xor ecx, edx
sub ecx, ebx
add ecx, edx
add ecx, edi
add ecx, 0x9a1b10e2
cmp eax, ecx
mov eax, 0xb5d30a7d
mov ecx, 0xd519e37e
cmove eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x10015f50
mov eax, dword [0x100739c8]
mov ecx, dword [0x100739cc]
mov edx, eax
and edx, ecx
not eax
add edx, eax
or eax, ecx
sub eax, edx
add eax, 0x36565601
mov dword [esi], eax
mov ecx, dword [0x100739d0]
mov edx, dword [0x100739d4]
mov edi, edx
not edi
or edi, edx
and edi, ecx
sub edi, ecx
add edi, 0xa
cmp dword [0x1007d9f0], edi
mov ecx, dword [0x1007d9ec]
setl byte [esi + 8]
setge byte [esi + 0x10]
mov edi, ecx
not edi
add edi, ecx
add edi, ecx
add edi, 0x6c794400
imul edi, ecx
mov ebx, dword [0x100739d8]
mov ecx, ebx
not ecx
mov eax, ebx
or eax, ecx
mov edx, dword [0x100739dc]
and eax, edx
or ebx, edx
not ebx
add ebx, eax
or ecx, edx
sub ebx, ecx
and edi, 1
cmp edi, ebx
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [eax], ecx
setne al
sete cl
mov ah, byte [esi + 0x10]
and ah, cl
mov dl, byte [esi + 8]
or cl, dl
add cl, ah
or al, dl
add al, cl
test al, 1
je 0x100164a0
mov eax, dword [0x10073aa8]
mov ecx, dword [0x10073aac]
mov edx, eax
xor edx, ecx
mov edi, eax
or edi, ecx
sub edx, edi
not ecx
sub edx, ecx
or ecx, eax
lea eax, [edx + ecx]
add eax, 0x36565601
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x1001603f
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x100737a0]
mov edx, dword [0x100737a4]
mov edi, ecx
and edi, edx
mov ebx, edx
not ebx
and ebx, ecx
sub edi, ebx
sub edi, edx
xor ecx, edx
add ecx, edi
add ecx, 0x207419cc
cmp eax, ecx
mov eax, 0xb5d30a7d
mov ecx, 0xf49971b2
cmove eax, ecx
mov edx, dword [0x100737a8]
mov ecx, dword [0x100737ac]
mov edi, edx
and edi, ecx
not ecx
add edi, ecx
or ecx, edx
mov edx, dword [0x1007d9e8]
sub ecx, edi
add ecx, 0xa
cmp dword [0x1007d9e4], ecx
setl cl
mov edi, edx
and edi, 1
mov ebx, edx
and ebx, 0x7ffffffe
lea edi, [edi + ebx*2]
add edi, edx
mov ebx, edx
not ebx
add edi, ebx
add edi, 2
mov ebx, dword [0x100737b0]
and ebx, dword [0x100737b4]
imul edi, edx
mov edx, ebx
not edx
add edx, edx
lea edx, [edx + ebx*2]
add edx, 2
and edi, 1
cmp edi, edx
mov edx, dword [esi + 4]
mov dword [edx], eax
sete al
mov edx, ecx
and dl, al
xor cl, al
add cl, dl
test cl, 1
jne 0x100164a0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0x207419cc
mov eax, 0xb5d30a7d
mov ecx, 0xf49971b2
cmove eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x10016112
mov edi, dword [0x100738b8]
mov ecx, dword [0x100738bc]
mov eax, edi
or edi, ecx
not ecx
mov dword [esi], ecx
and eax, ecx
sub edi, eax
mov eax, dword [0x1007d9e0]
cmp dword [0x1007d9dc], 0xa
setl byte [esi + 8]
setge byte [esi + 0x10]
lea ebx, [eax - 1]
imul ebx, eax
mov eax, dword [0x100738cc]
mov dword [esi + 0x1c], eax
not eax
mov edx, dword [0x100738c8]
and eax, edx
mov ecx, edx
not ecx
add ecx, eax
and edx, dword [esi + 0x1c]
lea eax, [edx + ecx]
add eax, 1
and ebx, 1
cmp ebx, eax
mov eax, dword [esi]
lea eax, [edi + eax - 0x20680260]
mov ecx, dword [esi + 4]
mov dword [ecx], eax
setne cl
sete al
mov ch, byte [esi + 0x10]
and ch, al
mov ah, byte [esi + 8]
mov dl, ah
xor dl, al
add ch, dl
or al, ah
add al, ch
not dl
add dl, al
or cl, ah
add cl, dl
test cl, 1
jne 0x100164a0
mov eax, dword [0x10073a78]
and eax, dword [0x10073a7c]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xdf97fda0
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x100161e9
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x10073778]
mov edx, dword [0x1007377c]
mov edi, ecx
or edi, edx
not edi
mov ebx, ecx
xor ebx, edx
add ebx, edi
and ecx, edx
add ecx, ebx
add ecx, 0x2ff34a3a
cmp eax, ecx
mov eax, 0xb5d30a7d
mov ecx, 0x2499c96a
cmove eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [0x10073780]
mov edx, dword [0x10073784]
mov ecx, eax
and ecx, edx
add ecx, ecx
mov edi, eax
or edi, edx
mov ebx, eax
xor eax, edx
not edx
and ebx, edx
sub ebx, ecx
add edi, ebx
not eax
lea eax, [edi + eax*2]
sub eax, edx
mov edx, dword [0x1007d9d8]
add eax, 0xb
cmp dword [0x1007d9d4], eax
setl al
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
xor dl, al
add dl, cl
or al, cl
add al, dl
test al, 1
jne 0x100164a0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x10073a38]
mov edx, dword [0x10073a3c]
mov edi, ecx
or ecx, edx
not edx
and edi, edx
sub ecx, edi
add ecx, edx
add ecx, 0x2ff34a3a
cmp eax, ecx
mov eax, 0xb5d30a7d
mov ecx, 0x2499c96a
cmove eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x10016298
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0xf1b62adb
mov eax, 0x694e95eb
mov ecx, 0x90f273fc
cmovl eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [0x100737d0]
mov ecx, dword [0x100737d4]
mov edx, eax
or edx, ecx
mov edi, edx
not edi
lea edi, [edx + edi*2]
not ecx
or ecx, eax
sub edi, ecx
mov edx, dword [0x1007d9d0]
add eax, edi
add eax, 0xb
cmp dword [0x1007d9cc], eax
setl al
mov edi, edx
not edi
and edi, 1
mov ecx, edx
or ecx, 1
sub ecx, edi
add ecx, 1
imul ecx, edx
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
test al, 1
jne 0x100164a0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov edx, dword [0x10073a48]
mov edi, dword [0x10073a4c]
mov ecx, edi
not ecx
and ecx, edx
add ecx, edi
or edx, edi
sub ecx, edx
add ecx, 0xf1b62adb
cmp eax, ecx
mov eax, 0x694e95eb
mov ecx, 0x90f273fc
cmovl eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x10016365
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x100736d8]
mov edx, dword [0x100736dc]
mov edi, ecx
and edi, edx
mov ebx, ecx
xor ebx, edx
add ebx, edi
or ecx, edx
sub ebx, ecx
add ebx, 0x207419cc
cmp eax, ebx
mov eax, 0x8ad4ed62
mov ecx, 0x396acbe4
cmovl eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
cmp dword [0x1007d9c8], 0xa
mov eax, dword [0x1007d9c4]
setl cl
mov edx, eax
not edx
add edx, 0x459b7184
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x100164a0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0x207419cc
mov eax, 0x8ad4ed62
mov ecx, 0x396acbe4
cmovl eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x1001641d
mov edx, dword [0x1007d9c0]
cmp dword [0x1007d9bc], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x100739fc]
mov edi, edx
not edi
mov ebx, dword [0x100739f8]
and edi, ebx
add edi, edx
or ebx, edx
sub ebx, edi
and ecx, 1
cmp ecx, ebx
sete cl
mov edx, eax
and dl, cl
xor al, cl
add al, dl
test al, 1
je 0x100164a0
jmp 0x10015630
mov eax, dword [0x100736b0]
mov edx, dword [0x100736b4]
mov ecx, eax
not ecx
mov edi, eax
or edi, ecx
and edi, edx
or eax, edx
not eax
add eax, edi
or ecx, edx
sub eax, ecx
add eax, 0x64e606c6
mov dword [esi], eax
mov ecx, dword [0x100736b8]
mov edx, dword [0x100736bc]
mov edi, ecx
not edi
and edi, edx
not edx
or edx, ecx
mov ebx, dword [0x1007d9b8]
lea ecx, [edi + edx]
add ecx, 0xb
cmp dword [0x1007d9b4], ecx
setl byte [esi + 8]
lea edx, [ebx + 1]
imul edx, ebx
mov edi, dword [0x100736c4]
mov ebx, edi
not ebx
mov eax, dword [0x100736c0]
and ebx, eax
mov ecx, eax
not ecx
add ecx, ebx
and eax, edi
add eax, ecx
add eax, 1
and edx, 1
cmp edx, eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
or al, byte [esi + 8]
jne 0x100164a0
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x64e606c6
jmp 0x100164e7
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0x2ff34a39
mov ecx, 0x1b68022
mov eax, 0xfdc455f1
cmovl ecx, eax
mov dword [esi], ecx
mov edx, dword [0x10073708]
mov edi, dword [0x1007370c]
mov ecx, edi
not ecx
and ecx, edx
add ecx, edi
or edx, edi
sub ecx, edx
add ecx, 0xa
cmp dword [0x1007d9b0], ecx
mov ecx, dword [0x1007d9ac]
setl byte [esi + 8]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, dword [0x10073710]
mov dword [esi + 0x10], edi
mov ecx, edi
not ecx
mov ebx, dword [0x10073714]
and ecx, ebx
xor edi, ebx
mov eax, edi
sub eax, ecx
not edi
add edi, eax
not ebx
or ebx, dword [esi + 0x10]
sub edi, ebx
and edx, 1
cmp edx, edi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
or al, byte [esi + 8]
jne 0x100164a0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0x2ff34a39
mov eax, 0x1b68022
mov ecx, 0xfdc455f1
cmovl eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x10016597
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x10073728]
xor ecx, dword [0x1007372c]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0x72f3640a
cmp eax, ecx
mov eax, 0xe55b515
mov ecx, 0x2e8d9608
cmovl eax, ecx
mov edi, dword [0x1007d9a8]
cmp dword [0x1007d9a4], 0xa
setl byte [esi]
lea edx, [edi + 1]
imul edx, edi
mov edi, dword [0x1007373c]
mov ebx, edi
not ebx
mov ecx, dword [0x10073738]
and ebx, ecx
not ecx
or ecx, edi
add ecx, ecx
lea ecx, [ecx + ebx*2]
add ecx, 2
and edx, 1
cmp edx, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
sete al
or al, byte [esi]
jne 0x100164a0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x10073a28]
mov edi, dword [0x10073a2c]
mov edx, ecx
not edx
mov ebx, edx
and ebx, edi
xor ecx, edi
not ecx
add ecx, ebx
or edx, edi
sub ecx, edx
add ecx, 0x72f36409
cmp eax, ecx
mov eax, 0xe55b515
mov ecx, 0x2e8d9608
cmovl eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x10016640
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x10073750]
mov edi, dword [0x10073754]
mov ebx, ecx
or ebx, edi
mov edx, ecx
xor edx, edi
not edx
add edx, ebx
not ecx
add edx, ecx
or ecx, edi
sub edx, ecx
add edx, 0x72f3640a
cmp eax, edx
mov eax, 0xb5d30a7d
mov ecx, 0x7288cfed
cmove eax, ecx
mov edx, dword [0x1007d9a0]
mov ecx, dword [0x1007375c]
mov edi, ecx
not edi
or edi, ecx
mov ecx, dword [str.qH_f1G]
and edi, ecx
not ecx
add ecx, edi
add ecx, 0xb
cmp dword [0x1007d99c], ecx
setl byte [esi]
lea edi, [edx + 1]
imul edi, edx
mov edx, dword [0x10073760]
mov ebx, dword [0x10073764]
mov ecx, ebx
sub ecx, edx
not ebx
add ebx, ecx
lea ecx, [edx + ebx]
add ecx, 1
and edi, 1
cmp edi, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
sete al
or al, byte [esi]
jne 0x100164a0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0x72f36409
mov eax, 0xb5d30a7d
mov ecx, 0x7288cfed
cmove eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x100166f7
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x100737f0]
mov edx, dword [0x100737f4]
mov edi, ecx
xor edi, edx
sub edi, edx
sub edi, edx
not edx
lea ebx, [edx + edx*2]
sub edi, ebx
or edx, ecx
lea edx, [edi + edx*2]
not ecx
add ecx, edx
add ecx, 0x1b0c0c66
cmp eax, ecx
mov eax, 0x6e2012b5
mov ecx, 0x321d8de9
cmovl eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [0x100737f8]
mov ecx, dword [0x100737fc]
mov edx, eax
xor edx, ecx
or eax, ecx
mov ecx, eax
sub ecx, edx
not eax
add eax, ecx
add eax, edx
add eax, 0xb
mov ecx, dword [0x1007d998]
cmp dword [0x1007d994], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x100164a0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x10073a50]
mov edx, dword [0x10073a54]
mov edi, edx
not edi
and edi, ecx
mov ebx, ecx
not ebx
add ebx, edi
and ecx, edx
add ecx, ebx
add ecx, 0x1b0c0c67
cmp eax, ecx
mov eax, 0x6e2012b5
mov ecx, 0x321d8de9
cmovl eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x100167b1
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x10073818]
mov edx, dword [0x1007381c]
mov edi, ecx
not edi
and edi, edx
sub edi, edx
mov ebx, ecx
xor ebx, edx
sub edi, ebx
or ecx, edx
add ecx, edi
add ecx, 0x1b0c0c66
cmp eax, ecx
mov ecx, 0xb5d30a7d
mov eax, 0x3fc19b53
cmove ecx, eax
mov dword [esi], ecx
mov ecx, dword [0x10073820]
mov eax, dword [0x10073824]
mov edx, ecx
xor edx, eax
mov edi, ecx
or edi, eax
not edi
add edi, edx
and ecx, eax
mov eax, dword [0x1007d990]
add ecx, edi
add ecx, 0xb
cmp dword [0x1007d98c], ecx
setge dh
setl dl
lea edi, [eax - 1]
imul edi, eax
mov eax, dword [0x10073828]
mov ecx, dword [0x1007382c]
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 eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
mov ecx, edx
or cl, al
add cl, dl
or dh, al
add dh, cl
and dl, al
not dl
add dl, dh
test dl, 1
jne 0x100164a0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi], eax
mov edx, dword [0x10073a58]
mov ecx, dword [0x10073a5c]
mov ebx, edx
not ebx
and ebx, ecx
mov edi, edx
xor edi, ecx
mov eax, edi
sub eax, ebx
not edi
add edi, eax
not ecx
or ecx, edx
sub edi, ecx
add edi, 0x1b0c0c66
cmp dword [esi], edi
mov eax, 0xb5d30a7d
mov ecx, 0x3fc19b53
cmove eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x10016875
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0xf1b62adb
mov ecx, 0xb5d30a7d
mov eax, 0x55878506
cmove ecx, eax
mov dword [esi], ecx
mov edx, dword [0x10073848]
mov ecx, dword [0x1007384c]
mov edi, ecx
not edi
and edi, edx
sub edi, edx
not edx
and edx, ecx
sub edi, edx
add ecx, edi
add ecx, 0xa
cmp dword [0x1007d988], ecx
mov ecx, dword [0x1007d984]
setl byte [esi + 8]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, dword [0x10073850]
mov dword [esi + 0x10], edi
mov ecx, edi
not ecx
mov ebx, dword [0x10073854]
and ecx, ebx
xor edi, ebx
mov eax, edi
sub eax, ecx
not edi
add edi, eax
not ebx
or ebx, dword [esi + 0x10]
sub edi, ebx
and edx, 1
cmp edx, edi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [eax], ecx
sete al
or al, byte [esi + 8]
jne 0x100164a0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp eax, 0xf1b62adb
mov eax, 0xb5d30a7d
mov ecx, 0x55878506
cmove eax, ecx
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x1001696f
mov eax, dword [0x10073890]
mov ecx, dword [0x10073894]
mov edx, ecx
not edx
and edx, eax
add edx, ecx
or eax, ecx
sub eax, edx
mov ecx, dword [0x10073898]
mov edx, dword [0x1007389c]
mov edi, ecx
and edi, edx
mov ebx, ecx
xor ebx, edx
add ebx, edi
add eax, 0xe67ddfd
or ecx, edx
mov edi, dword [0x1007d980]
sub ebx, ecx
add ebx, 0xa
cmp dword [0x1007d97c], ebx
setl byte [esi]
lea edx, [edi + 1]
imul edx, edi
mov ebx, dword [0x100738a4]
mov dword [esi + 8], ebx
not ebx
mov edi, dword [0x100738a0]
and ebx, edi
add ebx, ebx
sub ebx, edi
mov ecx, edi
not ecx
add ecx, ebx
and edi, dword [esi + 8]
not edi
add edi, edi
not edi
add edi, ecx
and edx, 1
cmp edx, edi
mov ecx, dword [esi + 4]
mov dword [ecx], eax
sete al
or al, byte [esi]
jne 0x100164a0
mov eax, dword [0x10073a70]
mov ecx, dword [0x10073a74]
mov edx, eax
not edx
mov edi, edx
and edi, ecx
add edi, edi
mov ebx, eax
sub ebx, edi
xor eax, ecx
add eax, ebx
add eax, ecx
lea eax, [eax + edx*2]
add eax, 0xe67ddff
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x10016a1c
mov eax, dword [esi + 0x3c]
cmp byte [eax], 0
mov eax, 0x1b0c0c66
mov ecx, 0x72f36409
cmovne eax, ecx
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [0x100738e8]
xor eax, dword [0x100738ec]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x1007d978], eax
mov edx, dword [0x1007d974]
setl byte [esi]
lea ecx, [edx - 1]
imul ecx, edx
mov edx, dword [0x100738f0]
mov ebx, dword [0x100738f4]
mov eax, edx
or eax, ebx
mov edi, edx
xor edi, ebx
not edi
add edi, eax
not edx
add edi, edx
or edx, ebx
sub edi, edx
and ecx, 1
add edi, 1
cmp ecx, edi
mov eax, dword [0x100738e0]
mov ecx, eax
not ecx
lea eax, [eax + ecx - 0x20680260]
mov ecx, dword [esi + 4]
mov dword [ecx], eax
sete al
or al, byte [esi]
mov eax, dword [esi + 0x24]
mov dword [eax], 0
jne 0x100164a0
mov eax, dword [esi + 0x3c]
cmp byte [eax], 0
mov eax, 0x1b0c0c66
mov ecx, 0x72f36409
cmovne eax, ecx
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [0x10073a80]
mov ecx, eax
not ecx
lea eax, [eax + ecx - 0x20680260]
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x24]
mov dword [eax], 0
jmp 0x10016ad8
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x2c]
mov dword [eax], edi
mov eax, dword [eax]
push 0x1007a148
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.kIXjE_I
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov dword [esi + 0x10], eax
mov ecx, dword [0x10073618]
mov edx, dword [0x1007361c]
mov dword [esi + 8], edx
not edx
mov dword [esi], edx
mov ebx, ecx
xor ebx, edx
mov eax, ecx
or eax, edx
add eax, ebx
not ebx
add ebx, eax
mov edx, ecx
not edx
add ebx, edx
mov eax, edx
mov dword [esi + 0x40], edx
or eax, dword [esi]
sub ebx, eax
add ebx, 1
mov eax, ebx
and eax, ecx
mov edi, ebx
and edi, edx
lea eax, [edi + eax*2]
not ebx
add ebx, eax
lea eax, [ebx + ebx]
lea eax, [eax + ebx*2]
add eax, 4
lea edi, [ebx + ebx]
add edi, 2
not edi
add edi, edi
lea edi, [edi + ebx*2]
add edi, 2
lea edx, [eax + edi]
add edx, 2
mov eax, ecx
neg eax
mov ebx, edx
or ebx, eax
mov edi, edx
xor edi, eax
and eax, edx
sub edx, ecx
not ebx
add ebx, edx
add edi, ebx
lea edx, [eax + edi]
add edx, 2
mov dword [esi + 0x1c], edx
lea eax, [eax + edi + 1]
mov dword [esi + 0x44], eax
mov edi, dword [esi + 0x40]
mov eax, edi
and eax, 0x32167a09
mov edx, ecx
xor edx, 0xcde985f6
add edx, eax
mov eax, edi
or eax, 0x32167a09
sub edx, eax
or edi, 0xcde985f6
lea eax, [edx + edi]
add eax, 0x32167a0a
and ecx, 0xcde985f6
mov edx, eax
or edx, ecx
add edx, edx
not ecx
or ecx, eax
add ecx, edx
not eax
lea ebx, [eax + ecx]
add ebx, 2
mov ecx, dword [esi]
and ecx, 0x32167a09
mov eax, dword [esi + 8]
mov edx, eax
and edx, 0xcde985f6
lea ecx, [edx + ecx*2]
mov edi, eax
and edi, 0x4de985f6
add edi, edi
mov edx, eax
and edx, 0x32167a09
sub edi, edx
xor eax, 0xcde985f6
lea edx, [eax + ecx]
add edx, 1
lea ecx, [edi + eax]
add ecx, 0x32167a0a
mov eax, edx
and eax, ecx
mov edi, edx
or edi, ecx
sub edi, eax
not ecx
sub edi, ecx
or ecx, edx
add ecx, edi
mov eax, ebx
and eax, ecx
mov edx, ecx
not edx
and edx, ebx
lea eax, [eax + edx*2]
mov edi, ebx
not edi
and edi, ecx
add edi, eax
add edi, ecx
mov edx, ebx
xor edx, ecx
add edx, edi
or ecx, ebx
add ecx, ecx
sub edx, ecx
mov eax, edx
not eax
lea eax, [edx + eax*2]
add eax, 1
mov ecx, dword [esi + 0x44]
not ecx
add ecx, ecx
mov edx, ecx
mov ecx, dword [esi + 0x1c]
not ecx
sub ecx, edx
mov edx, ecx
not eax
lea ecx, [eax + eax]
sub ecx, eax
add ecx, 1
mov eax, ecx
and eax, edx
or ecx, edx
add ecx, eax
mov eax, 0xcc4e1cdb
sub eax, ecx
mov ecx, dword [esi]
mov edx, ecx
and edx, 0x6002c2aa
and ecx, 0x1ffd3d55
lea ecx, [edx + ecx*2]
mov ebx, dword [esi + 8]
lea ecx, [ecx + ebx*2]
not edx
add edx, edx
sub ecx, edx
mov edx, ebx
and edx, 0x9ffd3d55
lea edi, [edx + ebx]
xor ebx, 0x6002c2aa
add ebx, edi
not edx
lea edi, [ebx + edx*2]
add edi, 0x9ffd3d58
mov edx, ecx
not edx
mov ebx, edx
and ebx, edi
or ecx, edi
add ebx, ecx
not ecx
add ecx, ebx
sub ecx, edx
mov edx, ecx
xor edx, 0x1ffd3d55
lea edi, [ecx + ecx]
or edi, 0xc0058554
lea edx, [edi + edx*2]
not ecx
add ecx, edx
mov edx, 0x6002c2a8
sub edx, ecx
xor edx, eax
sub eax, ecx
add eax, edx
not edx
lea ecx, [eax + edx]
add eax, edx
add eax, 0x1252c9c1
mov edx, eax
and edx, 0x1f54586b
add ecx, edx
add ecx, 0x1252c9c1
mov edx, eax
not edx
add edx, ecx
and eax, 0xe0aba794
lea ecx, [edx + eax]
add eax, edx
add eax, 0xe0aba795
mov edx, eax
not edx
and edx, 0x8161dc0d
add ecx, edx
add ecx, 0xe0aba795
mov edx, eax
xor edx, 0x8161dc0d
sub ecx, edx
or eax, 0x8161dc0d
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
xor edx, 0xe0aba794
add edx, eax
and ecx, 0x1f54586b
add ecx, edx
and eax, 0xe0aba794
add eax, ecx
add eax, 0x1f54586d
cmp dword [esi + 0x10], eax
mov eax, 0x207419cc
mov ecx, 0xf1b62adb
cmove eax, ecx
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov ecx, dword [0x10073908]
mov edx, dword [0x1007390c]
mov eax, ecx
or eax, edx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
add eax, 0xdf97fd9f
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [str.zO]
mov ecx, dword [0x10073914]
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 [0x1007d970], eax
mov eax, dword [0x1007d96c]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
mov eax, dword [esi + 0x18]
mov dword [eax], 0
jne 0x100164a0
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x2c]
mov dword [eax], edi
mov eax, dword [eax]
push 0x1007a148
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.kIXjE_I
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov dword [esi + 0x10], eax
mov edx, dword [0x10073618]
mov ecx, dword [0x1007361c]
mov dword [esi], ecx
mov eax, ecx
not eax
mov dword [esi + 8], eax
lea eax, [ecx + eax*2]
add eax, 1
xor eax, edx
mov ecx, eax
and ecx, edx
mov edi, eax
or edi, edx
add edi, ecx
mov ecx, eax
xor ecx, edx
not ecx
add ecx, edi
not eax
add ecx, eax
or eax, edx
sub ecx, eax
lea eax, [ecx + ecx]
add eax, 2
lea ecx, [ecx*4 + 4]
sub eax, ecx
mov ecx, edx
neg ecx
lea edi, [edx - 1]
or edi, ecx
mov ecx, eax
neg ecx
and edi, ecx
sub edi, eax
sub edi, edx
add edi, eax
mov dword [esi + 0x1c], edi
mov ecx, edx
not ecx
mov eax, ecx
and eax, 0x32167a09
mov ebx, edx
and ebx, 0xcde985f6
add ebx, edx
lea ebx, [ebx + eax*2]
sub eax, ecx
mov ecx, edx
and ecx, 0x4de985f6
add ecx, ecx
sub eax, ecx
mov ecx, edx
xor ecx, 0x32167a09
add eax, ecx
add eax, 0xcde985f6
xor edx, 0xcde985f6
lea ecx, [edx + ebx]
add ecx, 0xcde985f8
mov edx, eax
not edx
mov ebx, edx
and ebx, ecx
or eax, ecx
add ebx, eax
not eax
add eax, ebx
sub eax, edx
mov edx, dword [esi + 8]
and edx, 0x32167a09
mov ebx, dword [esi]
mov ecx, ebx
and ecx, 0xcde985f6
xor ebx, 0xcde985f6
add ebx, edx
add ebx, ecx
add ebx, edx
add ebx, 1
mov edi, dword [esi]
mov edx, edi
and edx, 0x32167a09
sub edx, ecx
mov ecx, edi
or ecx, 0xcde985f6
add ecx, edx
mov edx, edi
xor edx, 0x32167a09
lea ecx, [ecx + edx*2]
add ecx, 0xcde985f8
or ecx, ebx
xor ecx, eax
not ecx
lea eax, [ecx + ecx]
sub ecx, eax
mov edx, dword [esi + 0x1c]
mov eax, edx
and eax, ecx
lea edx, [edx + eax*2]
add edx, ecx
not eax
lea edi, [edx + eax*2]
add edi, 2
mov ebx, dword [esi + 8]
mov eax, ebx
and eax, 0x6002c2aa
add eax, ebx
mov edx, dword [esi]
mov ecx, edx
and ecx, 0x9ffd3d55
add ecx, eax
or ebx, 0x9ffd3d55
sub ecx, ebx
mov eax, edx
xor eax, 0x6002c2aa
add eax, edx
or edx, 0x6002c2aa
sub eax, edx
or eax, ecx
mov ecx, eax
xor ecx, 0x9ffd3d55
mov edx, eax
or edx, 0x9ffd3d55
add ecx, edx
not edx
lea edx, [ecx + edx*2]
mov ecx, eax
or ecx, 0x6002c2aa
sub edx, ecx
lea ecx, [edx + eax]
add ecx, 1
add edx, eax
not edi
not edx
lea eax, [edi - 0x33b1e324]
mov ebx, eax
and ebx, edx
add ebx, ebx
add edi, edi
add edi, 0x989c39b8
sub edi, ebx
xor eax, edx
sub edi, ecx
not eax
add eax, edi
sub eax, ecx
imul ecx, eax, 0x4a300739
lea edx, [ecx - 0xd0e628a]
mov eax, edx
not eax
xor edx, 0x7fc1a61a
lea ecx, [edx + ecx*2]
add ecx, 0xe5e33aec
add eax, eax
or eax, 0xff834c34
add eax, ecx
imul ecx, eax, 0xb256b709
lea eax, [ecx + 0x1704251b]
mov edx, eax
xor edx, 0xe0aba794
add edx, ecx
add edx, 0x1704251b
add ecx, ecx
add ecx, 0x2e084a36
or ecx, 0x3ea8b0d6
add ecx, edx
not eax
add eax, ecx
add eax, 0xc1574f2b
mov ecx, eax
xor ecx, 0x8161dc0d
mov edx, eax
sub edx, ecx
or eax, 0x8161dc0d
add edx, eax
not eax
add eax, edx
add eax, ecx
add eax, 0xa0b6347a
cmp dword [esi + 0x10], eax
mov eax, 0x207419cc
mov ecx, 0xf1b62adb
cmove eax, ecx
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [esi + 0x18]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov dword [eax], 0xdf97fd9f
jmp 0x10016ba5
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov eax, dword [eax]
push dword [eax]
call fcn.10062200
add esp, 4
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
cmp dword [ecx], 0
mov eax, 0x2ff34a39
mov ecx, 0xf1b62adb
cmove eax, ecx
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov ecx, dword [0x10073930]
mov eax, dword [0x10073934]
mov edi, ecx
not edi
and edi, eax
mov edx, ecx
xor edx, eax
mov ebx, edx
sub ebx, edi
not edx
add edx, ebx
not eax
or eax, ecx
sub edx, eax
add edx, 0xdf97fd9f
mov eax, dword [esi + 4]
mov dword [eax], edx
mov edx, dword [0x1007d968]
cmp dword [0x1007d964], 0xa
setge al
setl cl
lea ebx, [edx + 1]
imul ebx, edx
test bl, 1
sete dl
mov ah, cl
and ah, dl
or cl, dl
add cl, ah
add cl, al
or al, dl
add al, cl
mov ecx, dword [esi + 0x18]
mov dword [ecx], 0
test al, 1
jne 0x100164a0
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov eax, dword [eax]
push dword [eax]
call fcn.10062200
add esp, 4
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
cmp dword [ecx], 0
mov eax, 0x2ff34a39
mov ecx, 0xf1b62adb
cmove eax, ecx
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov ecx, dword [0x10073a90]
mov edx, dword [0x10073a94]
mov eax, ecx
xor eax, ecx
not eax
and eax, edx
xor eax, ecx
xor ecx, edx
sub eax, ecx
add eax, 0xdf97fd9f
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x18]
mov dword [eax], 0
jmp 0x1001712a
push 0x1007a148
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1007a163
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [esi + 0x34]
mov ecx, dword [edi]
push 0
push dword [esi + 0x38]
push dword [ecx]
mov ebx, dword [esi + 0x28]
push dword [ebx]
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov eax, dword [edi]
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, dword [0x10073624]
mov edx, eax
xor edx, 0xb77fdd0a
lea ecx, [edx + edx]
sub ecx, edx
mov edx, ecx
and edx, 0x488022f5
mov edi, ecx
xor edi, 0x488022f5
lea edx, [edx + edi*2]
mov edi, eax
neg edi
or ecx, 0x488022f5
sub eax, ecx
sub ecx, edx
xor ecx, edi
add eax, edx
add eax, ecx
not ecx
add eax, ecx
add eax, 0x90232292
mov ecx, eax
and ecx, 0xf1b62adc
or eax, 0xf1b62adc
add eax, ecx
imul ecx, eax, 0xce169fef
lea eax, [ecx - 0x9bb545f]
mov edx, eax
and edx, 0xc62e77b6
add ecx, edx
add ecx, 0xf644aba1
mov edx, eax
not edx
add edx, ecx
and eax, 0x39d18849
add eax, edx
imul eax, eax, 0x23ec6f0f
add eax, 0x23ec6f0f
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [ebx]
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [0x10073958]
mov ecx, dword [0x1007395c]
mov edx, eax
not edx
mov edi, edx
and edi, ecx
add edi, edi
mov ebx, eax
sub ebx, edi
xor eax, ecx
add eax, ebx
add eax, ecx
lea eax, [eax + edx*2]
add eax, 0xdf97fda1
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [0x10073960]
and eax, dword [0x10073964]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x1007d960], eax
mov eax, dword [0x1007d95c]
setl cl
mov edx, eax
not edx
add edx, 0x4340c7f8
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x100164a0
push 0x1007a148
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1007a163
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [esi + 0x34]
mov ecx, dword [edi]
push 0
push dword [esi + 0x38]
push dword [ecx]
mov ecx, dword [esi + 0x28]
push dword [ecx]
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov eax, dword [edi]
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov edx, dword [0x10073624]
mov dword [esi], edx
mov ecx, edx
not ecx
and ecx, 0xb77fdd0a
mov edi, edx
xor edi, 0x488022f5
add edi, ecx
and edx, 0x488022f5
add edi, edx
add edi, ecx
add edi, 1
mov ecx, edi
or ecx, edx
lea ebx, [edx + ecx]
not ecx
add ecx, ebx
not edi
or edi, edx
sub ecx, edi
mov edx, ecx
and edx, 0x377fdd0a
add edx, edx
mov edi, ecx
sub edi, edx
mov edx, ecx
xor edx, 0x488022f5
add edx, edi
not ecx
mov edi, ecx
or edi, 0x488022f5
sub edx, edi
or ecx, 0xb77fdd0a
lea ebx, [edx + ecx]
mov dword [esi + 8], ebx
lea edi, [edx + ecx]
add edi, 0xffffffff
mov ecx, dword [esi]
mov eax, ecx
neg eax
neg ebx
or edi, eax
and eax, ebx
mov edx, eax
sub edx, ecx
add ecx, 0xffffffff
and ecx, ebx
sub edx, ecx
sub edx, dword [esi + 8]
sub edx, edi
not eax
add eax, edx
mov ecx, 0x90232291
sub ecx, eax
mov eax, ecx
not eax
and eax, 0xf1b62adc
mov edx, ecx
sub edx, eax
mov eax, ecx
xor eax, 0xf1b62adc
add eax, edx
mov edx, ecx
xor edx, 0xe49d523
add edx, eax
or ecx, 0xe49d523
sub edx, ecx
add edx, 0x6193084b
mov eax, dword [esi + 0x14]
mov dword [eax], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [0x10073a98]
mov edx, dword [0x10073a9c]
mov ecx, eax
not ecx
mov edi, eax
or edi, ecx
and edi, edx
or eax, edx
not eax
add eax, edi
or ecx, edx
sub eax, ecx
add eax, 0xdf97fd9f
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x10017224
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi], eax
push 0x1007a148
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1007a16c
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [0x10073628]
mov edi, dword [0x1007362c]
mov eax, ecx
xor eax, edi
mov edx, edi
sub edi, ecx
add edi, eax
not edx
mov dword [esi + 8], edx
add edi, edx
mov eax, ecx
not eax
sub edi, eax
and edi, ecx
add edi, edi
mov edx, edi
not edx
sub edi, edx
sub edi, edx
add edi, edx
add edi, edx
mov edx, eax
and edx, 0xe753f5fa
mov ebx, eax
and ebx, 0x18ac0a05
sub ebx, edx
mov edx, eax
or edx, 0xe753f5fa
add edx, ebx
mov ebx, ecx
xor ebx, 0x6753f5fa
lea edx, [edx + ebx*2]
add edx, 0xe753f5fc
and ecx, 0x18ac0a05
or ecx, edx
mov edx, ecx
xor edx, 0x18ac0a05
add edx, edx
mov ebx, ecx
or ebx, 0x18ac0a05
sub edx, ebx
or ecx, 0x6753f5fa
add ecx, edx
mov edx, edi
or edx, 0x58752cc
or edi, 0xfa78ad33
add edi, edx
lea ebx, [edi + ecx*2]
lea edx, [edi + ecx*2]
add edx, 0x36df66d9
mov ecx, edx
and ecx, 0x58752cc
add ecx, ebx
add ecx, 0x36df66d9
mov edi, edx
not edi
and edi, 0xfa78ad33
add edi, ecx
mov ecx, eax
mov ebx, dword [esi + 8]
and ecx, ebx
or eax, ebx
lea eax, [eax + ecx*2]
not ecx
lea ebx, [eax + ecx*2]
lea eax, [eax + ecx*2]
add eax, 2
not eax
lea ecx, [ebx + eax*2 + 2]
lea eax, [ebx + eax*2 + 3]
mov ebx, eax
not ebx
add ecx, ecx
add ecx, 2
lea ecx, [ecx + ebx*2]
sub ecx, eax
xor edx, 0x58752cc
lea ebx, [edi + edx]
add edx, edi
add edx, 0x85324f93
lea eax, [ecx + ecx]
xor eax, 0xfffffffe
mov edi, edx
and edi, eax
add edi, edi
add ebx, ebx
add ebx, 0xa649f26
sub ebx, edi
xor eax, edx
add ecx, ecx
add ecx, 2
sub ebx, ecx
not eax
add eax, ebx
sub eax, ecx
lea ecx, [eax + 0x75465da3]
mov edx, ecx
not edx
xor ecx, 0x4133ec9f
lea eax, [ecx + eax*2]
add eax, 0xea8cbb46
add edx, edx
or edx, 0x8267d93e
lea ecx, [eax + edx]
add eax, edx
add eax, 0x7d9826c3
not eax
mov edx, eax
and edx, 0x72f36409
add ecx, edx
add ecx, 0x7d9826c3
mov edx, eax
and edx, 0x8d0c9bf6
add edx, ecx
sub edx, eax
lea eax, [edx + 0x72f36409]
mov ecx, eax
xor ecx, 0xbecc1360
add ecx, edx
add ecx, 0x72f36409
add edx, edx
add edx, 0xe5e6c812
or edx, 0x8267d93e
add edx, ecx
not eax
add eax, edx
imul eax, eax, 0xd3f8349d
lea ecx, [eax - 0x28ec943c]
mov edx, ecx
xor edx, 0x2e547acf
add eax, edx
add eax, 0xd7136bc4
xor ecx, 0xd1ab8530
add ecx, eax
imul eax, ecx, 0x1f77f1b5
add eax, 0xf22d3c24
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [esi + 0x24]
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [0x10073980]
mov ecx, dword [0x10073984]
mov edx, ecx
not edx
and edx, eax
mov edi, eax
not edi
add edi, edx
and eax, ecx
add eax, edi
add eax, 0xdf97fda0
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [0x10073988]
mov ecx, dword [0x1007398c]
mov edx, eax
not edx
and edx, ecx
sub edx, ecx
mov edi, eax
xor edi, ecx
sub edx, edi
or eax, ecx
add eax, edx
add eax, 0xa
cmp dword [0x1007d958], eax
mov edx, dword [0x1007d954]
setge cl
setl al
mov edi, edx
not edi
add edi, edx
lea ebx, [edx + edi]
add ebx, 0xb703a80a
imul ebx, edx
test bl, 1
sete dl
or al, dl
or cl, dl
add dl, al
not al
add al, dl
add al, cl
test al, 1
jne 0x100164a0
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi], eax
push 0x1007a148
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x1007a16c
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esi + 0x20]
push dword [ecx]
call eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov edx, dword [0x10073628]
mov eax, dword [0x1007362c]
mov dword [esi + 0x1c], eax
mov ecx, eax
not ecx
mov dword [esi + 8], ecx
add ecx, ecx
mov dword [esi + 0x10], ecx
lea ebx, [eax + ecx]
add ebx, 1
xor ebx, edx
not ebx
mov ecx, ebx
and ecx, edx
mov eax, edx
not eax
mov edi, ebx
and edi, eax
sub ecx, edi
sub ecx, edx
or ebx, edx
add ebx, ecx
mov ecx, edx
or ecx, eax
and ecx, 0x18ac0a05
xor edx, 0xe753f5fa
add edx, ecx
mov ecx, eax
mov edi, eax
or ecx, 0x18ac0a05
sub edx, ecx
mov eax, dword [esi + 0x1c]
sub eax, dword [esi + 0x10]
mov ecx, dword [esi + 8]
add eax, ecx
add eax, ecx
lea eax, [eax + ecx*2]
add eax, 1
or eax, edi
mov dword [esi + 8], eax
mov ecx, edi
and ecx, 0xe753f5fa
or edx, ecx
mov ecx, edx
and ecx, 0x6753f5fa
mov edi, edx
xor edi, 0x18ac0a05
sub edi, ecx
or edx, 0x18ac0a05
add edx, edi
lea ecx, [ebx + ebx]
mov edi, ecx
and edi, 0xfa78ad32
lea edi, [edi + ebx*2]
or ecx, 0x58752cc
sub edi, ecx
lea ecx, [edx + edx]
add ecx, 0xcea7ebf6
mov ebx, ecx
not ebx
lea eax, [edi + 0xb0ea598]
and ebx, eax
add edi, ebx
add edi, 0xb0ea598
lea edx, [edi + edx*2]
add edx, 0xcea7ebf6
mov edi, eax
not edi
add edi, edx
and eax, ecx
add eax, edi
add eax, 1
mov ecx, eax
not ecx
and ecx, 0x58752cc
mov edx, eax
sub edx, ecx
mov ecx, eax
xor ecx, 0x58752cc
add ecx, edx
mov edx, eax
xor edx, 0xfa78ad33
add edx, ecx
or eax, 0xfa78ad33
sub edx, eax
mov ecx, dword [esi + 8]
mov eax, ecx
not eax
add ecx, eax
add eax, ecx
add eax, 1
not eax
add eax, eax
add eax, 0xfffffffe
mov ecx, eax
xor ecx, 0xfffffffe
lea edi, [edx - 0x7acdb06e]
mov ebx, edi
not ebx
and ebx, ecx
lea edx, [ebx + edx*2]
add edx, 0xa649f24
sub edx, eax
or edi, ecx
sub edx, edi
lea eax, [edx - 2]
mov ecx, eax
or ecx, 0x8ab9a25e
add ecx, edx
add ecx, 0xfffffffe
mov edx, eax
xor edx, 0x75465da1
add edx, ecx
not eax
add edx, eax
or eax, 0x8ab9a25e
sub edx, eax
add edx, 0x34127103
not edx
imul ecx, edx, 0x2c07cb63
lea eax, [ecx + 0x133e9708]
mov edx, eax
not edx
and edx, 0x24d53212
add edx, edx
lea ecx, [edx + ecx*2]
add ecx, 0x267d2e10
xor eax, 0x5b2acded
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xb6559bdc
not eax
mov ecx, eax
and ecx, 0x2e547acf
add ecx, edx
add ecx, 0xb6559bdc
mov edx, eax
and edx, 0xd1ab8530
add edx, ecx
sub edx, eax
lea eax, [edx + 0x2e547acf]
mov ecx, eax
and ecx, 0xa4d53212
add ecx, edx
add ecx, 0x2e547acf
mov edx, eax
xor edx, 0xa4d53212
add edx, ecx
or eax, 0xa4d53212
sub edx, eax
imul ecx, edx, 0x1f77f1b5
lea eax, [ecx - 0x2d4ab591]
mov edx, eax
and edx, 0x7090b35b
add edx, edx
mov edi, eax
and edi, 0x8f6f4ca4
sub edi, edx
add ecx, edi
add ecx, 0xd2b54a6f
mov edx, eax
or edx, 0x7090b35b
add edx, ecx
xor eax, 0xf6f4ca4
lea eax, [edx + eax*2]
add eax, 2
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [esi + 0x24]
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [esi + 4]
mov dword [eax], 0xdf97fd9f
jmp 0x10017490
mov edx, dword [0x100739a8]
mov ecx, dword [0x100739ac]
mov eax, edx
and eax, ecx
mov edi, edx
not edi
and edi, ecx
mov ebx, eax
sub ebx, edi
not ecx
or ecx, edx
sub ebx, ecx
not eax
add eax, ebx
add eax, 0xa
cmp dword [0x1007d950], eax
mov edx, dword [0x1007d94c]
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x100739b4]
mov edi, edx
not edi
mov ebx, dword [0x100739b0]
and edi, ebx
sub edi, ebx
not ebx
and ebx, edx
sub edi, ebx
add edi, edx
and ecx, 1
cmp ecx, edi
sete cl
or cl, al
mov eax, dword [esi + 0x24]
mov edi, dword [eax]
add cl, 1
test cl, 1
jne 0x10017970
mov ecx, dword [esi + 0x48]
xor ecx, ebp
call fcn.1005f2a0
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret