Function at 0x1001ea70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
mov eax, dword [0x1008e00c]
xor eax, ebp
mov dword [esp + 0x78], eax
mov dword [esp + 0x10], ecx
mov ebx, dword [ecx + 0x4c]
test ebx, ebx
mov dword [esp + 0x20], edx
je 0x1001f081
mov ecx, edx
and ecx, 0xfffff000
xor eax, eax
mov esi, 0xfffff000
mov dword [esp + 4], ebx
mov edi, dword [ebx + 8]
and edi, esi
xor edx, edx
cmp ecx, edi
seta dl
mov edi, 0xffffffff
cmovb edx, edi
lea edi, [edx + 1]
cmp edi, 2
jae 0x1001ead6
mov eax, ebx
mov ebx, dword [ebx]
test ebx, ebx
jne 0x1001eab0
jmp 0x1001eae9
cmp edx, 1
jne 0x1001f328
mov ebx, dword [ebx + 4]
and ebx, 0xfffffffe
test ebx, ebx
jne 0x1001eab0
test eax, eax
jne 0x1001f32a
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x38]
test ebx, ebx
jne 0x1001eb53
push 0x1008e7b8
call dword [0x1008be30]
mov eax, dword [0x1008e7d4]
test eax, eax
je 0x1001f0b6
xor ebx, ebx
xor ecx, ecx
dec ecx
mov esi, dword [eax + 0x14]
xor edx, edx
cmp esi, 0x100000
setb dl
cmova edx, ecx
cmp edx, 0xffffffff
jne 0x1001eb3c
mov ebx, eax
mov eax, dword [eax]
test eax, eax
jne 0x1001eb19
jmp 0x1001ed19
test edx, edx
jne 0x1001f8ab
cmp dword [eax + 0x10], 0
jne 0x1001eb2f
mov ebx, eax
mov edx, esi
jmp 0x1001ed24
xor edx, edx
mov dword [eax + 0x38], edx
lea edi, [ebx + 0x2000]
lea eax, [ebx + 0x28]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x58]
mov esi, dword [esp + 4]
mov dword [ecx], esi
mov dword [ecx + 4], edx
mov dword [esp + 0xc], ebx
nop word cs:[eax + eax]
mov dword [esp + 4], edx
mov edx, ecx
mov dword [esp + 8], edx
mov ecx, dword [esi]
test ecx, ecx
je 0x1001eba3
mov eax, dword [ecx + 4]
test al, 1
je 0x1001eba3
mov edx, dword [ecx]
test edx, edx
je 0x1001eba3
test byte [edx + 4], 1
jne 0x1001ec09
mov ecx, esi
mov eax, dword [ebx + 0x30]
mov ebx, eax
and ebx, 0xfffff000
mov esi, dword [ecx + 8]
mov edx, 0xfffff000
and esi, edx
xor edx, edx
cmp ebx, esi
seta dl
mov esi, 0xffffffff
cmovb edx, esi
cmp edx, 0xffffffff
jne 0x1001ebe6
mov esi, dword [ecx]
mov eax, 0xffffffff
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test esi, esi
jne 0x1001eb80
jmp 0x1001ecd8
test edx, edx
jne 0x1001ec3f
test al, 0x10
mov edx, 0
cmove edx, dword [esp + 0x14]
xor eax, eax
cmp edx, ecx
seta dl
jb 0x1001ebce
mov al, dl
mov esi, dword [ecx + 4]
and esi, 0xfffffffe
jmp 0x1001ebd5
and eax, 0xfffffffe
mov dword [esi], eax
mov edx, esi
and edx, 0xfffffffe
mov eax, dword [ecx]
mov ebx, dword [ecx + 4]
and ebx, 1
or ebx, edx
mov dword [ecx + 4], ebx
test eax, eax
je 0x10020534
and byte [eax + 4], 0xfe
mov edx, dword [esp + 8]
cmp dword [edx], esi
mov ebx, dword [esp + 0xc]
jne 0x1001ec46
mov dword [edx], ecx
jmp 0x1001eba5
mov eax, 1
jmp 0x1001ec01
and ecx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
mov esi, edx
lea edx, [eax + ecx]
mov dword [esi + 4], edx
test ecx, ecx
je 0x1001f938
mov edx, dword [ecx]
and edx, 0xfffffffe
or edx, eax
mov dword [esi + 4], edx
mov dword [ecx], esi
mov eax, dword [esi + 4]
and eax, 1
mov edx, dword [ecx + 4]
and edx, 0xfffffffe
or edx, eax
mov dword [ecx + 4], edx
or byte [esi + 4], 1
mov edx, dword [esp + 4]
test edx, edx
je 0x1001f953
cmp dword [edx], esi
je 0x1001f2e7
jmp 0x1001f2ee
mov eax, dword [ebx + 0x30]
mov edx, eax
mov ebx, 0xfffff000
and edx, ebx
mov esi, dword [ecx + 8]
and esi, ebx
xor ebx, ebx
cmp edx, esi
seta bl
mov edx, 0xffffffff
cmovb ebx, edx
test ebx, ebx
jne 0x1001f2b5
jmp 0x1001f2fe
mov ebx, dword [esp + 0xc]
mov edx, ecx
test esi, esi
jne 0x1001eb86
mov edx, dword [esp + 4]
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 1
cmp eax, 1
je 0x1001f1b0
mov eax, dword [esp + 0x14]
mov dword [ecx], eax
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x10020534
and byte [ecx + 4], 0xfe
mov eax, dword [esp + 0x10]
mov dword [esp + 4], ecx
mov dword [eax + 0x4c], ecx
jmp 0x1001f34f
test ebx, ebx
je 0x1001f0b6
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x10]
lea edi, [eax + 0xfffff]
mov ecx, 0xfff00000
and edi, ecx
mov esi, edi
sub esi, eax
sub edx, esi
add edx, ecx
mov dword [esp + 0xc], edx
mov eax, dword [ebx + 0x18]
mov dword [esp + 4], eax
mov ecx, ebx
call 0xffffb90
mov ecx, 0x1008e7d0
mov dword [esp + 8], ebx
mov edx, ebx
call fcn.1003ae40
test esi, esi
jne 0x1001f85d
mov esi, dword [esp + 0xc]
test esi, esi
je 0x1001f1f9
mov ebx, dword [esp + 8]
lea eax, [edi + 0x100000]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], esi
mov eax, dword [esp + 4]
mov dword [ebx + 0x18], eax
mov ecx, ebx
call fcn.1003b4e0
mov ecx, 0x1008e7d0
mov edx, ebx
call fcn.1003b240
lock add dword [0x1008e7b4], 0xfff00000
mov eax, 0x1008e7b8
push eax
call dword [0x1008beb0]
push 4
push 0x1000
push 0x100000
push edi
call dword [0x1008bf2c]
test eax, eax
je 0x1001f0c1
test edi, edi
je 0x1001f0c1
push 0x1008e768
call dword [0x1008be30]
mov eax, dword [0x1008e780]
test eax, eax
je 0x1001f83c
mov ecx, edi
shr ecx, 0x14
mov dword [eax + ecx*4], edi
push 0x1008e768
call dword [0x1008beb0]
mov eax, dword [esp + 0x10]
add dword [eax + 0x24], 0x100000
mov dword [edi], eax
xor eax, eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x24], 0x20
mov dword [edi + 0x30], 0xfd024
mov eax, 0x60
nop dword [eax]
mov dword [edi + eax - 0x24], 0x24
mov dword [edi + eax - 0x18], 0x24
mov dword [edi + eax - 0xc], 0x24
cmp eax, 0xc00
je 0x1001ee5b
mov dword [edi + eax], 0x24
add eax, 0x30
jmp 0x1001ee30
mov dword [edi + 0xc00], 0xfd024
mov dword [edi + 0xc0c], 0x20
lea ecx, [edi + 0x1000]
mov eax, ecx
and eax, 0xfffff
mov ebx, 0x100000
sub ebx, eax
mov esi, 0xff000
cmp ebx, esi
cmovae ebx, esi
push 0x4000
push ebx
mov dword [esp + 0x10], ecx
push ecx
call dword [str._configure_narrow_argv]
test eax, eax
je 0x1001f827
mov ecx, dword [esp + 8]
add ecx, ebx
sub esi, ebx
mov eax, 0x100000
cmp esi, eax
mov ebx, 0x100000
cmovb ebx, esi
test esi, esi
jne 0x1001ee8d
mov eax, dword [esp + 0x10]
add dword [eax + 0x28], 2
lea ecx, [edi + 0x28]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], 0
test ecx, ecx
je 0x1001f236
xor esi, esi
lea ebx, [esp + 0x58]
nop dword [eax]
mov edx, ebx
mov dword [esp + 8], edx
mov ebx, dword [ecx]
test ebx, ebx
je 0x1001ef0f
mov eax, dword [ebx + 4]
test al, 1
je 0x1001ef0f
mov edx, dword [ebx]
test edx, edx
je 0x1001ef0f
test byte [edx + 4], 1
jne 0x1001ef71
mov ebx, ecx
mov eax, dword [edi + 0x30]
mov edx, eax
and edx, 0xfffff000
mov esi, dword [ebx + 8]
mov ecx, 0xfffff000
and esi, ecx
xor ecx, ecx
cmp edx, esi
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
cmp ecx, 0xffffffff
jne 0x1001ef4e
mov ecx, dword [ebx]
mov eax, 0xffffffff
mov esi, dword [esp + 8]
test ecx, ecx
jne 0x1001eef0
jmp 0x1001f03a
test ecx, ecx
jne 0x1001efab
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0xc]
xor eax, eax
cmp ecx, ebx
seta cl
jb 0x1001ef3a
mov al, cl
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
jmp 0x1001ef41
mov dword [esp + 4], esi
and eax, 0xfffffffe
mov dword [ecx], eax
mov edx, ecx
and edx, 0xfffffffe
mov eax, dword [ebx]
mov esi, dword [ebx + 4]
and esi, 1
or esi, edx
mov dword [ebx + 4], esi
test eax, eax
je 0x10020534
and byte [eax + 4], 0xfe
mov edx, dword [esp + 8]
cmp dword [edx], ecx
mov esi, dword [esp + 4]
jne 0x1001efb2
mov dword [edx], ebx
jmp 0x1001ef11
mov eax, 1
jmp 0x1001ef69
and ebx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
lea ecx, [eax + ebx]
mov dword [edx + 4], ecx
test ebx, ebx
je 0x1001f938
mov ecx, dword [ebx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edx + 4], ecx
mov dword [ebx], edx
mov eax, dword [edx + 4]
and eax, 1
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
or byte [edx + 4], 1
test esi, esi
je 0x1001f953
cmp dword [esi], edx
je 0x1001f29e
jmp 0x1001f2a5
mov eax, dword [edi + 0x30]
mov edx, eax
mov ecx, 0xfffff000
and edx, ecx
mov esi, dword [ebx + 8]
and esi, ecx
xor ecx, ecx
cmp edx, esi
seta cl
mov edx, 0xffffffff
cmovb ecx, edx
test ecx, ecx
jne 0x1001f28b
jmp 0x1001f2c8
mov esi, dword [esp + 4]
mov edx, ebx
test ecx, ecx
jne 0x1001eef2
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 1
cmp eax, 1
je 0x1001f165
mov eax, dword [esp + 0xc]
mov dword [ebx], eax
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x10020534
and byte [ecx + 4], 0xfe
mov eax, dword [esp + 0x10]
mov dword [esp + 4], ecx
mov dword [eax + 0x4c], ecx
add edi, 0x2000
jmp 0x1001f34f
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x38]
test eax, eax
je 0x1001eafc
xor edx, edx
mov dword [ecx + 0x38], edx
lea ecx, [esp + 0x58]
mov dword [ecx], edx
mov dword [ecx + 4], edx
mov dword [eax + 0x28], edx
lea edi, [eax + 0x2000]
mov dword [eax + 0x2c], 1
add eax, 0x28
jmp 0x1001ecf3
push 0x1008e7b8
call dword [0x1008beb0]
sub esp, 0x10
movaps xmm0, xmmword [0x1007d110]
movups xmmword [esp], xmm0
call dword [0x1008bf2c]
xor ebx, ebx
test eax, eax
je 0x1001fe14
mov edi, eax
test eax, 0xfffff
je 0x1001edd6
push 0x8000
push 0
push edi
call dword [str._configure_narrow_argv]
test eax, eax
je 0x1001f8e2
mov esi, dword [0x1008bf2c]
sub esp, 0x10
movaps xmm0, xmmword [0x1007d120]
movups xmmword [esp], xmm0
call esi
test eax, eax
je 0x1001fe14
mov edi, eax
add edi, 0xfffff
and edi, 0xfff00000
push 0x8000
push 0
push eax
call dword [str._configure_narrow_argv]
test eax, eax
je 0x1001f8f6
push 4
push 0x3000
push 0x100000
push edi
call esi
cmp eax, edi
jne 0x1001f90a
test edi, edi
jne 0x1001edd6
jmp 0x1001f108
mov edx, dword [esp + 0xc]
and edx, 0xfffffffe
mov eax, dword [ebx + 4]
and eax, 1
lea ecx, [eax + edx]
mov dword [ebx + 4], ecx
test edx, edx
je 0x1001f938
mov ecx, dword [edx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebx + 4], ecx
mov dword [edx], ebx
mov eax, dword [ebx + 4]
and eax, 1
mov ecx, dword [edx + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edx + 4], ecx
or byte [ebx + 4], 1
cmp dword [esi], ebx
jne 0x1001f24d
mov dword [esi], edx
jmp 0x1001f057
mov ebx, edx
mov esi, dword [esp + 0x14]
and esi, 0xfffffffe
mov eax, dword [ecx + 4]
and eax, 1
lea edx, [eax + esi]
mov dword [ecx + 4], edx
test esi, esi
je 0x1001f938
mov edx, dword [esi]
and edx, 0xfffffffe
or edx, eax
mov dword [ecx + 4], edx
mov dword [esi], ecx
mov eax, dword [ecx + 4]
and eax, 1
mov edx, dword [esi + 4]
and edx, 0xfffffffe
or edx, eax
mov dword [esi + 4], edx
or byte [ecx + 4], 1
cmp dword [ebx], ecx
jne 0x1001f26e
mov dword [ebx], esi
jmp 0x1001ecf5
lock add dword [0x1008e7b4], 0xfff00000
push 0x1008e7b8
call dword [0x1008beb0]
push 0x1008e784
call dword [0x1008be30]
mov eax, 0x1008e784
mov ecx, dword [0x1008e72c]
mov edx, dword [esp + 8]
mov dword [edx], ecx
mov dword [0x1008e72c], edx
jmp 0x1001edac
lea ebx, [esp + 0x58]
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 1
jmp 0x1001f051
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 0xfffffffe
cmp ebx, ecx
mov ebx, dword [esp + 0x20]
jne 0x1001f05b
and eax, 1
or eax, edx
mov dword [esi + 4], eax
jmp 0x1001f05b
mov eax, dword [ebx + 4]
mov edx, eax
and edx, 0xfffffffe
cmp ecx, edx
jne 0x1001ecf5
and eax, 1
or eax, esi
mov dword [ebx + 4], eax
jmp 0x1001ecf5
xor eax, eax
inc eax
cmp ecx, 0xffffffff
je 0x1001f2dd
mov ecx, dword [ebx + 4]
and ecx, 0xfffffffe
jmp 0x1001f02c
mov dword [esi], ebx
jmp 0x1001efff
mov eax, dword [esi + 4]
and eax, 1
or eax, ebx
mov dword [esi + 4], eax
jmp 0x1001efff
xor eax, eax
inc eax
cmp ebx, 0xffffffff
je 0x1001f313
mov esi, dword [ecx + 4]
and esi, 0xfffffffe
jmp 0x1001ecc6
test al, 0x10
mov ecx, 0
cmove ecx, dword [esp + 0xc]
xor eax, eax
cmp ecx, ebx
seta cl
jae 0x1001f31d
mov ecx, dword [ebx]
xor eax, eax
dec eax
jmp 0x1001f02c
mov dword [edx], ecx
jmp 0x1001ec99
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
jmp 0x1001ec99
test al, 0x10
mov edx, 0
cmove edx, dword [esp + 0x14]
xor eax, eax
cmp edx, ecx
seta dl
jae 0x1001f324
mov esi, dword [ecx]
xor eax, eax
dec eax
jmp 0x1001ecc6
mov al, cl
jmp 0x1001f293
mov al, dl
jmp 0x1001f2bd
mov eax, ebx
mov ecx, eax
and eax, 0xfffff
add eax, 0xfffffff0
mov edx, 0xaaaaaaab
mul edx
mov edi, edx
and ecx, 0xfff00000
and edi, 0xfffffff8
shl edi, 9
add edi, ecx
mov ebx, dword [esp + 0x20]
mov edx, edi
and edx, 0xfff00000
mov eax, dword [edx + 0xc]
mov dword [esp + 0x48], eax
mov eax, edi
shr eax, 0xc
movzx ecx, al
lea eax, [ecx*4]
lea eax, [eax + eax*2]
or eax, edx
mov esi, ebx
shr esi, 0xc
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x1c], eax
mov eax, ebx
xor ebx, ebx
cmp eax, 0x1000
mov dword [esp + 8], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], esi
jb 0x1001f690
mov dword [esp + 0x2c], edi
xor eax, eax
inc eax
cmp esi, 2
cmovae eax, esi
mov dword [esp + 0x24], eax
lea eax, [ecx + ecx*2]
lea ecx, [edx + eax*4]
add ecx, 0x18
mov dword [esp + 0x18], ecx
lea eax, [edx + eax*4]
add eax, 0x24
mov cl, 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
lea edx, [ebx + eax]
lea eax, [edx + edx*2]
mov edi, dword [esp + 8]
test byte [edi + eax*4 + 0x18], 0x60
jne 0x1001f400
add ebx, 1
cmp ebx, dword [esp + 0x38]
setb cl
add esi, 0xffffffff
add dword [esp + 0x18], 0xc
mov eax, dword [esp + 4]
add eax, 0xc
cmp ebx, dword [esp + 0x24]
jne 0x1001f3c3
jmp 0x1001f537
mov dword [esp + 0x40], edx
cmp ebx, dword [esp + 0x38]
jae 0x1001f721
mov dword [esp + 0x3c], ecx
xor edx, edx
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
nop dword [eax]
mov ecx, dword [eax]
test cl, 0x60
je 0x1001f438
and ecx, 0xffffff9f
mov dword [eax], ecx
add edx, 1
add eax, 0xc
cmp esi, edx
jne 0x1001f420
mov edx, esi
mov ecx, edx
shl ecx, 0xc
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x40]
je 0x1001f6be
shl eax, 0xc
add eax, dword [esp + 8]
mov dword [esp + 0x34], eax
and eax, 0xff000
mov edx, ecx
mov ecx, 0x100000
sub ecx, eax
cmp ecx, edx
cmovae ecx, edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x30], edx
push 4
push 0x1000
push ecx
push dword [esp + 0x40]
call dword [0x1008bf2c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
test eax, eax
je 0x1001f4a8
add dword [esp + 0x34], ecx
sub edx, ecx
mov ecx, 0x100000
cmp edx, ecx
mov ecx, 0x100000
cmovb ecx, edx
test edx, edx
jne 0x1001f469
test eax, eax
setne al
mov edx, dword [esp + 0x28]
test edx, edx
je 0x1001f51f
mov byte [esp + 0x30], al
test al, al
mov ecx, 0x20
mov eax, 4
cmovne ecx, eax
xor edx, edx
cmp dword [esp + 0x28], 1
je 0x1001f501
mov eax, dword [esp + 0x28]
and eax, 0xfffffffe
mov dword [esp + 0x34], eax
xor edx, edx
mov eax, dword [esp + 4]
nop word cs:[eax + eax]
nop dword [eax]
or dword [eax - 0xc], ecx
or dword [eax], ecx
add edx, 2
add eax, 0x18
cmp dword [esp + 0x34], edx
jne 0x1001f4f0
test byte [esp + 0x28], 1
mov al, byte [esp + 0x30]
je 0x1001f51f
add edx, dword [esp + 0x40]
lea eax, [edx + edx*2]
mov edx, dword [esp + 8]
or dword [edx + eax*4 + 0x18], ecx
mov al, byte [esp + 0x30]
test al, al
je 0x1001fe07
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
add dword [eax + 0x28], ecx
jmp 0x1001f3dc
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x4c]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
lea ecx, [eax + 0x10]
mov dword [esp + 0x18], ecx
add eax, 0x18
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], 0
mov dword [esp + 0xc], eax
mov eax, dword [eax]
mov ecx, eax
and ecx, 0xfffff000
mov edx, 0xfffff000
mov esi, ebx
and edx, dword [ebx + 8]
xor ebx, ebx
cmp ecx, edx
seta bl
mov ecx, 0xffffffff
cmovae ecx, ebx
test ecx, ecx
mov ebx, dword [esp + 0x14]
je 0x1001f6a1
cmp ecx, 0xffffffff
jne 0x1001f60e
mov ebx, dword [esi]
test ebx, ebx
je 0x10020534
mov eax, dword [ebx + 4]
mov dword [esp + 0x24], 0
test al, 1
jne 0x1001fa10
mov ecx, dword [ebx]
test ecx, ecx
je 0x1001f5c5
test byte [ecx + 4], 1
jne 0x1001fa10
or eax, 1
mov dword [ebx + 4], eax
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1001f81c
mov ebx, dword [eax]
test ebx, ebx
je 0x1001f5eb
mov edx, dword [ebx + 4]
test dl, 1
jne 0x1001f797
or ecx, 1
mov dword [esi + 4], ecx
mov ecx, dword [eax]
or ecx, 1
mov dword [esi + 4], ecx
mov dword [eax], esi
mov ebx, eax
lea eax, [esp + 0x58]
and byte [ebx + 4], 0xfe
mov esi, eax
mov dword [eax], ebx
jmp 0x1001fa10
test ecx, ecx
je 0x1001f6c5
mov eax, dword [esi + 4]
mov dword [esp + 0x24], 0
mov ebx, eax
and ebx, 0xfffffffe
je 0x1001f638
mov ecx, dword [ebx]
test ecx, ecx
je 0x1001f638
test byte [ecx + 4], 1
jne 0x1001fa10
mov edx, esi
mov ecx, dword [esi]
test ecx, ecx
je 0x1001f8bf
test byte [ecx + 4], 1
jne 0x1001f72e
or eax, 1
mov dword [edx + 4], eax
mov eax, dword [ecx]
test eax, eax
je 0x1001f666
mov ebx, dword [eax + 4]
test bl, 1
jne 0x1001f740
or byte [ecx + 4], 1
mov eax, dword [edx + 4]
mov ebx, eax
and ebx, 0xfffffffe
je 0x1001f938
mov ecx, dword [ebx]
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
mov dword [ebx], edx
lea eax, [esp + 0x58]
jmp 0x1001f605
mov dword [esp + 0x3c], 0
mov ebx, dword [esp + 4]
jmp 0x1001f546
xor edx, edx
test al, 0x10
cmove edx, dword [esp + 0x18]
xor ecx, ecx
cmp edx, esi
seta al
jb 0x1001f598
mov cl, al
jmp 0x1001f593
mov al, 1
jmp 0x1001f4b1
mov eax, dword [esi + 4]
cmp eax, 1
ja 0x1001f7e4
mov edx, esi
mov eax, dword [esi]
xor ecx, ecx
test eax, eax
mov esi, dword [esp + 0x1c]
je 0x1001fb1c
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [edx], ecx
mov ecx, edx
and ecx, 0xfffffffe
mov dword [esp + 4], edx
mov edx, dword [eax + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
mov edx, dword [esp + 4]
mov edx, dword [edx + 4]
and edx, 1
or edx, ecx
mov dword [eax + 4], edx
mov ecx, dword [esp + 4]
or byte [ecx + 4], 1
and dword [eax + 4], 1
mov ecx, eax
jmp 0x1001fb1c
mov dword [esp + 0x28], 0
jmp 0x1001f527
lea esi, [esp + 0x54]
mov ecx, esi
call 0x10000270
mov ebx, dword [esi]
jmp 0x1001f687
and ebx, 0xfffffffe
mov dword [eax + 4], ebx
mov esi, edx
mov ebx, dword [edx]
test ebx, ebx
je 0x1001f94d
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
mov ecx, dword [esi + 4]
mov eax, ecx
and eax, 0xfffffffe
je 0x1001f938
mov edx, dword [eax]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [esi + 4], ecx
mov dword [eax], esi
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
jmp 0x1001f687
and edx, 0xfffffffe
mov dword [eax], edx
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
and ebx, 0xfffffffe
mov eax, dword [esi + 4]
and eax, 1
lea ecx, [eax + ebx]
mov dword [esi + 4], ecx
test ebx, ebx
je 0x1001f938
mov edx, esi
mov ecx, dword [ebx]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
mov dword [ebx], esi
mov eax, dword [esi + 4]
and eax, 0xfffffffe
je 0x1001f7dc
mov ecx, dword [eax + 4]
test cl, 1
jne 0x1001f7f1
mov dword [esi + 4], eax
jmp 0x1001f5fd
lea ecx, [esp + 0x58]
mov dword [esp + 0x24], ecx
jmp 0x1001f621
and ecx, 0xfffffffe
mov dword [eax + 4], ecx
mov eax, dword [esi + 4]
mov ecx, eax
or ecx, 1
mov dword [esi + 4], ecx
and eax, 0xfffffffe
je 0x1001f938
mov ecx, dword [eax]
or ecx, 1
mov dword [esi + 4], ecx
mov dword [eax], esi
mov dword [ebx], eax
jmp 0x1001f5fd
or ecx, 1
mov dword [esi + 4], ecx
jmp 0x1001f938
mov dword [0x1008f8f4], 0x100837fa
int3
push 0x1008e768
call dword [0x1008beb0]
mov ecx, edi
mov edx, 0x100000
push 0
call fcn.10002630
add esp, 4
jmp 0x100204f8
mov ebx, dword [esp + 8]
mov dword [ebx + 0x14], esi
mov ecx, ebx
call fcn.1003b4e0
mov ecx, 0x1008e7d0
mov edx, ebx
call fcn.1003b240
mov eax, dword [esp + 0xc]
test eax, eax
je 0x1001ed9c
mov esi, eax
push 0x1008e7b8
call dword [0x1008beb0]
call fcn.1003f1c0
test eax, eax
je 0x1001f8ca
mov ebx, eax
push 0x1008e7b8
call dword [0x1008be30]
jmp 0x1001ed76
cmp edx, 1
jne 0x1001eb4a
mov eax, dword [eax + 4]
and eax, 0xfffffffe
jmp 0x1001eb33
or eax, 1
mov dword [edx + 4], eax
jmp 0x10020534
mov ecx, edi
mov edx, 0x100000
push dword [esp + 4]
call fcn.10002630
add esp, 4
jmp 0x1001f0c1
mov ecx, 0x100818e2
mov edx, 0x10084958
call fcn.1003f170
jmp 0x1001f102
mov ecx, 0x100818e2
mov edx, 0x10084958
call fcn.1003f170
jmp 0x1001f144
test eax, eax
je 0x1001f920
push 0x8000
push 0
push eax
call dword [str._configure_narrow_argv]
test eax, eax
je 0x1001f927
xor edi, edi
jmp 0x1001f15b
mov ecx, 0x100818e2
mov edx, 0x10084958
call fcn.1003f170
jmp 0x1001f920
mov dword [0x1008f8f4], 0x100823a2
int3
mov dword [esi], 0
mov dword [0x1008f8f4], 0x100823a2
int3
mov eax, dword [esp + 0xc]
mov edx, dword [eax]
mov eax, edx
and eax, 0xfffff000
mov esi, ebx
mov ebx, dword [ebx + 8]
mov ecx, 0xfffff000
and ebx, ecx
xor ecx, ecx
cmp eax, ebx
seta cl
mov eax, 0xffffffff
cmovb ecx, eax
test ecx, ecx
je 0x1001f9d0
cmp ecx, 0xffffffff
mov ebx, esi
jne 0x1001f9f0
mov ebx, dword [ebx]
test ebx, ebx
je 0x1002007f
mov ecx, dword [ebx + 4]
test cl, 1
jne 0x1001fa10
mov eax, dword [ebx]
test eax, eax
je 0x1001fa2b
test byte [eax + 4], 1
jne 0x1001fa10
jmp 0x1001fa2b
mov eax, dword [esp + 0x18]
test dl, 0x10
jne 0x10020520
xor ecx, ecx
mov ebx, esi
cmp eax, esi
seta al
jb 0x1001f9a3
mov cl, al
jmp 0x1001f99c
test ecx, ecx
mov edx, dword [esp + 4]
je 0x1001fa19
mov ecx, dword [ebx + 4]
mov ebx, ecx
and ebx, 0xfffffffe
je 0x1001fa75
mov eax, dword [ebx]
test eax, eax
je 0x1001fa75
test byte [eax + 4], 1
je 0x1001fa75
nop
mov dword [esp + 4], esi
jmp 0x1001f970
mov ecx, dword [ebx + 4]
mov dword [esp + 0x24], edx
cmp ecx, 1
jbe 0x1001fafc
jmp 0x1001f9fb
or ecx, 1
mov dword [ebx + 4], ecx
mov edx, dword [esi + 4]
mov ecx, edx
and ecx, 0xfffffffe
je 0x10020515
mov ebx, dword [ecx]
test ebx, ebx
je 0x1001fa50
mov eax, dword [ebx + 4]
test al, 1
jne 0x1001ffb4
or edx, 1
mov dword [esi + 4], edx
mov eax, dword [ecx]
or eax, 1
mov dword [esi + 4], eax
mov dword [ecx], esi
mov ebx, ecx
mov edx, dword [esp + 4]
cmp dword [edx], esi
jne 0x10020549
mov dword [edx], ebx
jmp 0x1001f970
mov edx, dword [esi]
test edx, edx
je 0x10020534
mov ebx, dword [edx + 4]
test bl, 1
je 0x1001ff44
and ebx, 0xfffffffe
je 0x1002052e
mov eax, dword [ebx]
test eax, eax
jne 0x1001ff0c
jmp 0x1001ff16
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
mov edx, dword [esi + 4]
mov ecx, edx
and ecx, 0xfffffffe
je 0x1001f938
mov eax, dword [ecx]
and eax, 0xfffffffe
and edx, 1
or edx, eax
mov dword [esi + 4], edx
mov dword [ecx], esi
mov eax, dword [ebx + 4]
and eax, 1
or eax, ecx
mov dword [ebx + 4], eax
or byte [esi + 4], 1
mov edx, dword [esp + 4]
cmp dword [edx], esi
jne 0x1001ff7e
mov dword [edx], ebx
mov esi, edx
jmp 0x1001fa10
mov ecx, dword [ebx]
test ecx, ecx
jne 0x1001fe29
cmp dword [edx], ebx
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
jne 0x1001ff31
mov dword [edx], ecx
mov ecx, dword [esp + 0x58]
shr esi, 0xc
mov eax, dword [esp + 0x10]
mov dword [eax + 0x4c], ecx
mov eax, esi
mov ecx, dword [esp + 0x18]
mov dword [ecx], 0
lea edx, [ebx + ebx*2]
mov ecx, dword [esp + 8]
mov dword [esp + 0x2c], edx
mov dword [ecx + edx*4 + 0x14], 0
mov ecx, dword [esp + 0x38]
sub eax, ecx
je 0x1001fd81
shl eax, 0xc
add ecx, ebx
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 8]
lea ebx, [edx + ecx*4]
add ebx, 0x10
mov ecx, 0xfff
mov edx, dword [ebx + 8]
and edx, ecx
or edx, eax
mov dword [esp + 0x1c], ebx
mov dword [ebx + 8], edx
add esi, dword [esp + 0x14]
lea edx, [esi + esi*2]
mov ebx, dword [esp + 8]
and ecx, dword [ebx + edx*4 + 0xc]
or ecx, eax
mov dword [ebx + edx*4 + 0xc], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x4c]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], 0
test edx, edx
je 0x1001ff95
mov eax, dword [esp + 0x18]
lea eax, [ebx + eax*4]
add eax, 0x18
mov dword [esp + 0x14], eax
mov dword [esp + 4], 0
lea esi, [esp + 0x58]
nop word cs:[eax + eax]
nop
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 4], esi
mov esi, dword [edx]
test esi, esi
je 0x1001fbf6
mov ebx, dword [esi + 4]
test bl, 1
je 0x1001fbf6
mov ecx, dword [esi]
test ecx, ecx
je 0x1001fbf6
test byte [ecx + 4], 1
jne 0x1001fc73
mov esi, edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, ecx
and eax, 0xfffff000
mov ebx, dword [esi + 8]
mov edx, 0xfffff000
and ebx, edx
xor edx, edx
cmp eax, ebx
seta dl
mov eax, 0xffffffff
cmovb edx, eax
cmp edx, 0xffffffff
mov eax, dword [esp + 0x18]
jne 0x1001fc40
mov edx, dword [esi]
mov ebx, 0xffffffff
mov ecx, dword [esp + 8]
test edx, edx
jne 0x1001fbd0
jmp 0x1001fd49
test edx, edx
jne 0x1001fca5
mov edx, dword [esp + 0x1c]
test cl, 0x10
jne 0x10020527
xor ebx, ebx
cmp edx, esi
seta cl
jb 0x1001fc27
mov bl, cl
mov ecx, dword [esp + 8]
mov edx, dword [esi + 4]
and edx, 0xfffffffe
test edx, edx
jne 0x1001fbd0
jmp 0x1001fd49
and ebx, 0xfffffffe
mov dword [edx], ebx
mov ecx, edx
and ecx, 0xfffffffe
mov ebx, dword [esi]
mov eax, dword [esi + 4]
and eax, 1
or eax, ecx
mov dword [esi + 4], eax
test ebx, ebx
je 0x10020534
and byte [ebx + 4], 0xfe
mov ecx, dword [esp + 4]
cmp dword [ecx], edx
jne 0x1001fcac
mov dword [ecx], esi
jmp 0x1001fbf8
mov ebx, 1
jmp 0x1001fc5c
and esi, 0xfffffffe
mov edx, dword [ecx + 4]
and edx, 1
lea eax, [edx + esi]
mov dword [ecx + 4], eax
test esi, esi
je 0x1001f938
mov eax, dword [esi]
and eax, 0xfffffffe
or eax, edx
mov dword [ecx + 4], eax
mov dword [esi], ecx
mov eax, dword [ecx + 4]
and eax, 1
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [esp + 4]
or byte [eax + 4], 1
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x1001f953
cmp dword [ecx], eax
je 0x100201ae
jmp 0x100201f3
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov ecx, eax
mov edx, 0xfffff000
and ecx, edx
mov ebx, dword [esi + 8]
and ebx, edx
xor edx, edx
cmp ecx, ebx
seta dl
mov ecx, 0xffffffff
cmovb edx, ecx
test edx, edx
jne 0x10020197
jmp 0x10020203
mov dword [esp + 4], esi
test edx, edx
mov eax, dword [esp + 0x18]
jne 0x1001fbdc
mov edx, dword [esp + 0x24]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x1c]
mov dword [edx], 0
mov dword [ecx + eax*4 + 0x14], 1
cmp ebx, 1
je 0x1001fec5
mov dword [esi], edx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
test eax, eax
je 0x10020534
and byte [eax + 4], 0xfe
mov dword [edx + 0x4c], eax
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x20], 0x1000
jb 0x1001fde2
mov edx, edi
or edx, 1
cmp byte [ebp + 8], 0
mov eax, ecx
mov ecx, 3
cmove ecx, edx
xor edx, edx
inc edx
cmp eax, 2
cmovae edx, eax
shl edx, 2
lea edx, [edx + edx*2]
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x2c]
lea esi, [eax + esi*4]
add esi, 0x18
xor ebx, ebx
jmp 0x1001fdca
mov dword [esi + ebx], ecx
add ebx, 0xc
cmp edx, ebx
je 0x1001fde2
test byte [esi + ebx], 8
je 0x1001fdc0
mov eax, dword [esp + 8]
add dword [eax + 0xc], 0xffffffff
mov eax, dword [esp + 0x10]
add dword [eax + 0x44], 0xffffffff
jmp 0x1001fdc0
cmp byte [ebp + 8], 0
je 0x1001fdf2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
or dword [ecx], eax
mov ecx, dword [esp + 8]
cmp dword [ecx + 0xc], 0
mov esi, dword [esp + 0x10]
jne 0x1001fe07
cmp dword [esp + 0x48], 0
jne 0x1001fe5d
test byte [esp + 0x3c], 1
jne 0x100204f8
mov ebx, edi
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.10039ea0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ecx + 4]
and eax, 0xfffffffe
mov dword [ebx], eax
mov eax, ebx
and eax, 0xfffffffe
mov edx, dword [ecx + 4]
and edx, 1
or edx, eax
mov dword [ecx + 4], edx
mov edx, dword [ebx + 4]
and edx, 1
or edx, eax
mov dword [ecx + 4], edx
mov edx, dword [esp + 4]
or byte [ebx + 4], 1
and dword [ecx + 4], 1
jmp 0x1001fb06
mov ebx, dword [esi + 0x34]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], 0
xor edx, edx
dec edx
xor eax, eax
cmp ebx, ecx
setb al
cmova eax, edx
cmp eax, 0xffffffff
je 0x10020029
test eax, eax
je 0x10020144
test ebx, ebx
je 0x10020534
mov ecx, dword [ebx + 8]
mov dword [esp + 0xc], 0
mov eax, ecx
and eax, 0xfffffffe
je 0x10020226
mov edx, dword [eax + 4]
test edx, edx
je 0x10020226
test byte [edx + 8], 1
je 0x10020226
xor edx, edx
dec edx
jmp 0x10020295
lea ecx, [ecx + eax*4]
add ecx, 0x14
mov eax, dword [esi + 4]
and eax, 1
mov ebx, edx
mov edx, eax
or edx, ebx
mov dword [esi + 4], edx
mov edx, dword [ebx]
and edx, 0xfffffffe
or edx, eax
mov dword [esi + 4], edx
mov dword [ebx], esi
mov eax, dword [esi + 4]
and eax, 1
mov edx, dword [ecx]
and edx, 0xfffffffe
or edx, eax
mov dword [ecx], edx
or byte [esi + 4], 1
mov eax, dword [esp + 4]
cmp dword [eax], esi
jne 0x10020004
mov dword [eax], ebx
jmp 0x1001fd66
test byte [eax + 4], 1
jne 0x100201b5
and ecx, 1
or ecx, ebx
mov dword [edx + 4], ecx
or byte [ebx + 4], 1
mov ebx, dword [esi]
test ebx, ebx
jne 0x1001faa3
jmp 0x1001f94d
and ecx, 0xfffffffe
mov eax, dword [edx + 4]
and eax, 1
or eax, ecx
mov dword [edx + 4], eax
jmp 0x1001fb18
or ebx, 1
mov dword [edx + 4], ebx
mov ecx, dword [edx]
test ecx, ecx
je 0x1001ff5c
mov edx, dword [ecx + 4]
test dl, 1
jne 0x100200ef
mov ecx, dword [esi + 4]
mov ebx, ecx
and ebx, 0xfffffffe
je 0x1001f938
mov eax, dword [ebx]
and eax, 0xfffffffe
and ecx, 1
or ecx, eax
mov dword [esi + 4], ecx
mov dword [ebx], esi
jmp 0x1001fae7
mov eax, ebx
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov esi, edx
jmp 0x1001fa10
lea esi, [esp + 0x58]
mov edx, dword [esp + 0x1c]
mov dword [edx], 0
mov eax, dword [esp + 0x18]
mov dword [ebx + eax*4 + 0x14], 1
jmp 0x1001fd64
and eax, 0xfffffffe
mov dword [ecx], eax
mov eax, dword [ebx + 4]
and eax, 1
or eax, ecx
mov dword [ebx + 4], eax
and ebx, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
lea eax, [ecx + ebx]
mov dword [esi + 4], eax
test ebx, ebx
je 0x1001f938
mov edx, esi
mov eax, dword [ebx]
and eax, 0xfffffffe
or eax, ecx
mov dword [esi + 4], eax
mov dword [ebx], esi
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
je 0x1001fffc
mov eax, dword [ecx + 4]
test al, 1
jne 0x100203d3
mov dword [esi + 4], ecx
jmp 0x1001fa62
mov ebx, eax
mov ecx, dword [eax + 4]
mov eax, ecx
and eax, 0xfffffffe
cmp esi, eax
mov edx, dword [esp + 0x10]
jne 0x1001fd6a
and ecx, 1
or ecx, dword [esp + 0x1c]
mov dword [ebx + 4], ecx
jmp 0x1001fd6a
test ebx, ebx
je 0x10020057
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020057
mov dword [esp + 0xc], 0
test byte [eax + 8], 1
jne 0x10020295
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10020057
test byte [ecx + 8], 1
jne 0x10020295
lea esi, [esp + 0x54]
mov ecx, esi
mov edx, ebx
call 0x10000170
mov eax, dword [esi]
test eax, eax
je 0x10020534
and byte [eax + 8], 0xfe
mov dword [esp + 0xc], 0
jmp 0x1002028b
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x1001f953
mov eax, dword [esp + 0x18]
cmp dword [ebx], eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x14]
jne 0x100203ba
mov dword [ebx], esi
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esi], eax
lea eax, [edx + edx*2]
mov ebx, ecx
mov ecx, dword [ecx + eax*4 + 0x14]
and ecx, 0xfffffffe
mov edx, dword [esi + 4]
and edx, 1
or edx, ecx
mov dword [esi + 4], edx
mov eax, dword [ebx + eax*4 + 0x14]
and eax, 1
or eax, ecx
mov dword [esi + 4], eax
mov eax, dword [esp + 4]
cmp dword [eax], esi
jne 0x1002055e
mov dword [eax], 0
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x14]
jmp 0x1001fb1c
and edx, 0xfffffffe
mov dword [ecx + 4], edx
mov ebx, dword [esi]
test ebx, ebx
je 0x1001f94d
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
mov edx, dword [esi + 4]
mov ecx, edx
and ecx, 0xfffffffe
je 0x1001f938
mov eax, dword [ecx]
and eax, 0xfffffffe
and edx, 1
or edx, eax
mov dword [esi + 4], edx
mov dword [ecx], esi
mov eax, dword [ebx + 4]
and eax, 1
or eax, ecx
mov dword [ebx + 4], eax
jmp 0x1001fae7
xor edx, edx
test ebx, ebx
je 0x1002018b
mov ecx, dword [ebx + 8]
cmp ecx, 1
ja 0x1002048b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002018b
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [ebx + 4], ecx
mov ecx, ebx
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [ebx + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
or byte [ebx + 8], 1
and dword [eax + 8], 1
mov edx, eax
mov dword [esi + 0x34], edx
mov ecx, dword [esp + 8]
jmp 0x1002039d
xor ebx, ebx
inc ebx
cmp edx, 0xffffffff
mov ecx, dword [esp + 8]
je 0x1002021c
mov edx, dword [esi + 4]
and edx, 0xfffffffe
jmp 0x1001fd31
mov dword [ecx], esi
jmp 0x1001fd01
and ecx, 1
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 4]
and eax, 0xfffffffe
or eax, ecx
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x2c]
and byte [eax + 4], 0xfe
mov ecx, dword [edx + 4]
mov ebx, ecx
and ebx, 0xfffffffe
je 0x1001f938
mov eax, dword [ebx]
and eax, 0xfffffffe
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
mov dword [ebx], edx
mov dword [esi], ebx
jmp 0x1001faa3
mov eax, dword [ecx + 4]
and eax, 1
or eax, esi
mov dword [ecx + 4], eax
jmp 0x1001fd01
test al, 0x10
mov eax, 0
cmove eax, dword [esp + 0x1c]
xor ebx, ebx
cmp eax, esi
seta al
mov ecx, dword [esp + 8]
jae 0x10020275
mov edx, dword [esi]
xor ebx, ebx
dec ebx
jmp 0x1001fd31
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020567
test byte [eax + 8], 1
jne 0x1002027c
or ecx, 1
mov dword [ebx + 8], ecx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10020250
mov edx, dword [ecx + 8]
test dl, 1
jne 0x1002042d
or byte [eax + 8], 1
mov ecx, dword [ebx + 8]
mov eax, ecx
and eax, 0xfffffffe
je 0x1001f938
mov edx, dword [eax + 4]
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dword [ebx + 8], ecx
mov dword [eax + 4], ebx
jmp 0x1002028b
mov bl, al
jmp 0x100201a3
lea esi, [esp + 0x54]
mov ecx, esi
mov edx, ebx
call fcn.1001e880
mov eax, dword [esi]
xor edx, edx
dec edx
lea ebx, [esp + 0x58]
mov dword [ebx + 4], eax
mov esi, ebx
mov ecx, dword [esp + 8]
mov ebx, eax
xor eax, eax
cmp ebx, ecx
setb al
cmova eax, edx
test eax, eax
je 0x100202cd
cmp eax, 0xffffffff
jne 0x100202e5
test ebx, ebx
je 0x10020498
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020498
test byte [eax + 8], 1
je 0x1002030f
mov esi, ebx
jmp 0x1002029b
xor ecx, ecx
test ebx, ebx
je 0x1002037e
mov eax, dword [ebx + 8]
mov dword [esp + 0xc], esi
cmp eax, 1
jbe 0x10020349
jmp 0x100202f0
test ebx, ebx
je 0x10020402
mov eax, dword [ebx + 8]
and eax, 0xfffffffe
je 0x10020402
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10020402
test byte [ecx + 8], 1
jne 0x10020295
jmp 0x10020402
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10020320
test byte [ecx + 8], 1
jne 0x10020295
lea ecx, [esp + 0x50]
mov edx, ebx
call 0x10000170
mov eax, dword [esp + 0x50]
cmp dword [esi + 4], ebx
jne 0x1002056f
mov dword [esi + 4], eax
mov ebx, eax
mov ecx, dword [esp + 8]
xor edx, edx
dec edx
jmp 0x1002029d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002037e
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [ebx + 4], ecx
mov ecx, ebx
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [ebx + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
or byte [ebx + 8], 1
and dword [eax + 8], 1
mov ecx, eax
cmp dword [esi + 4], ebx
jne 0x100203aa
mov dword [esi + 4], ecx
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x34], eax
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x1001f938
xor eax, eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
jmp 0x1001fe07
and ecx, 0xfffffffe
mov eax, dword [esi + 8]
and eax, 1
or eax, ecx
mov dword [esi + 8], eax
jmp 0x10020386
mov eax, esi
and eax, 0xfffffffe
mov ecx, dword [ebx + 4]
and ecx, 1
or ecx, eax
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 8]
jmp 0x100200a1
and eax, 0xfffffffe
mov dword [ecx + 4], eax
mov ecx, dword [esi + 4]
mov eax, ecx
or eax, 1
mov dword [esi + 4], eax
and ecx, 0xfffffffe
mov edx, dword [esp + 4]
je 0x1001f938
mov eax, dword [ecx]
or eax, 1
mov dword [esi + 4], eax
mov dword [ecx], esi
mov dword [ebx], ecx
jmp 0x1001fa66
lea ecx, [esp + 0x4c]
mov edx, ebx
call fcn.1001e880
mov eax, dword [esp + 0x4c]
cmp dword [esi + 4], ebx
je 0x10020486
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [esi + 8]
and edx, 1
or edx, ecx
mov dword [esi + 8], edx
mov ebx, esi
jmp 0x1001febd
and edx, 0xfffffffe
mov dword [ecx + 8], edx
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020584
mov ecx, dword [eax + 8]
and ecx, 0xfffffffe
mov dword [ebx + 4], ecx
mov ecx, ebx
and ecx, 0xfffffffe
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
mov edx, dword [ebx + 8]
mov ecx, edx
and ecx, 0xfffffffe
je 0x1001f938
mov esi, dword [ecx + 4]
and esi, 0xfffffffe
and edx, 1
or edx, esi
mov dword [ebx + 8], edx
mov dword [ecx + 4], ebx
mov edx, dword [eax + 8]
and edx, 1
or edx, ecx
mov dword [eax + 8], edx
jmp 0x1002028b
mov dword [esi + 4], eax
jmp 0x10020426
lea eax, [esp + 0x58]
mov dword [esp + 0xc], eax
jmp 0x1001fe9d
mov edx, dword [esp + 0xc]
test edx, edx
je 0x10020590
cmp dword [edx + 4], ecx
jne 0x100204ff
mov dword [edx + 4], ebx
test ecx, ecx
je 0x100205a8
test ebx, ebx
je 0x1001f938
mov eax, dword [ecx + 4]
mov dword [ebx + 4], eax
mov edx, ecx
mov ecx, dword [ecx + 8]
and ecx, 0xfffffffe
mov eax, dword [ebx + 8]
and eax, 1
or eax, ecx
mov dword [ebx + 8], eax
mov ecx, dword [edx + 8]
and ecx, 1
and eax, 0xfffffffe
or eax, ecx
mov dword [ebx + 8], eax
cmp dword [esi + 4], ebx
jne 0x100205c7
mov dword [esi + 4], 0
jmp 0x10020386
xor ebx, ebx
jmp 0x1001fe14
mov eax, ebx
and eax, 0xfffffffe
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, eax
mov dword [edx + 8], ecx
mov ecx, dword [esp + 8]
jmp 0x100204ac
or edx, 1
mov dword [esi + 4], edx
jmp 0x1001f938
xor eax, eax
jmp 0x1001f9dd
xor edx, edx
jmp 0x1001fc51
and ecx, 1
mov dword [edx + 4], ecx
mov dword [0x1008f8f4], 0x100823a2
int3
mov eax, ebx
and eax, 0xfffffffe
mov ecx, dword [edx + 4]
and ecx, 1
or ecx, eax
mov dword [edx + 4], ecx
jmp 0x1001f970
and dword [eax + 4], 1
jmp 0x100200de
or ecx, 1
mov dword [ebx + 8], ecx
jmp 0x10020534
mov ecx, eax
and ecx, 0xfffffffe
mov edx, dword [esi + 8]
and edx, 1
or edx, ecx
mov dword [esi + 8], edx
jmp 0x1002033b
mov dword [ebx + 4], 0
jmp 0x1001f953
mov dword [0x1008f8f4], 0x100823a2
int3
test ebx, ebx
je 0x1001f938
mov dword [ebx + 4], 0
mov eax, dword [ebx + 8]
and eax, 1
mov dword [ebx + 8], eax
xor ecx, ecx
jmp 0x100204db
and dword [esi + 8], 1
jmp 0x10020386