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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xac
mov edi, dword [esp + 0xe0]
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0xe4]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0xe8]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0xec]
mov dword [esp + 0x2c], edi
fnstcw word [esp + 0x5e]
movzx ecx, dx
mov edi, edx
mov dword [esp + 0x9c], edx
shr edx, 0x18
shr edi, 0x10
mov dword [esp + 0x90], ebx
shr dl, 7
and edi, 0x7fff
mov dword [esp + 0x94], esi
mov byte [esp + 0x1c], dl
movzx edx, dl
mov dword [esp + 0x98], eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x34], edx
je 0x6e949a70
cmp edi, 0x7fff
je 0x6e949a40
or ecx, 0x10000
lea ebx, [esp + 0x60]
lea edx, [esp + 0x6c]
mov dword [esp + 0x6c], ecx
shr eax, 0x1d
shl ecx, 3
sub edx, 4
or eax, ecx
mov dword [edx + 4], eax
cmp edx, ebx
je 0x6e949b30
mov ecx, dword [edx]
mov eax, dword [edx - 4]
jmp 0x6e949a1d
or ebx, esi
or ebx, eax
or ebx, ecx
jne 0x6e949d20
mov dword [esp + 0x30], 8
mov ebp, 2
mov dword [esp + 0x38], 0
jmp 0x6e949b4d
mov edx, esi
or edx, ebx
or edx, eax
or edx, ecx
je 0x6e949d40
test ecx, ecx
je 0x6e94a122
bsr eax, ecx
xor eax, 0x1f
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
lea ebp, [eax - 0xc]
mov esi, ebp
sar esi, 5
and ebp, 0x1f
je 0x6e94a100
cmp esi, 3
mov eax, 2
je 0x6e949ae8
lea ebx, [esp + 0x60]
mov eax, esi
mov edi, 0x20
neg eax
sub edi, ebp
lea edx, [ebx + eax*4 + 0xc]
mov dword [esp + 0x38], ebx
mov eax, dword [edx - 4]
mov ebx, dword [edx]
mov ecx, edi
shr eax, cl
mov ecx, ebp
shl ebx, cl
or eax, ebx
mov dword [edx + esi*4], eax
sub edx, 4
cmp edx, dword [esp + 0x38]
jne 0x6e949ac6
mov ebx, dword [esp + 0x60]
lea eax, [esi - 1]
mov ecx, ebp
shl ebx, cl
mov dword [esp + esi*4 + 0x60], ebx
cmp eax, 0xffffffff
lea ebx, [esp + 0x60]
je 0x6e949b0f
lea esi, [esi]
mov dword [ebx + eax*4], 0
sub eax, 1
cmp eax, 0xffffffff
jne 0x6e949b00
mov edi, 0xffffc011
xor ebp, ebp
sub edi, dword [esp + 0x30]
mov dword [esp + 0x38], 2
mov dword [esp + 0x30], 0
jmp 0x6e949b4d
shl dword [esp + 0x60], 3
sub edi, 0x3fff
mov dword [esp + 0x30], 0
xor ebp, ebp
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
movzx edx, ax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x90], esi
mov dword [esp + 0x70], esi
mov esi, eax
shr esi, 0x10
mov dword [esp + 0x94], ebx
mov dword [esp + 0x74], ebx
mov ebx, eax
mov eax, esi
mov dword [esp + 0x98], ecx
mov esi, ebx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
shr esi, 0x18
mov ecx, edx
mov ebx, esi
shr bl, 7
and eax, 0x7fff
mov byte [esp + 0x2c], bl
movzx ebx, bl
mov dword [esp + 0x3c], ebx
je 0x6e949bf1
cmp eax, 0x7fff
je 0x6e949cf1
mov esi, dword [esp + 0x20]
or edx, 0x10000
lea ebx, [esp + 0x70]
lea ecx, [esp + 0x7c]
mov dword [esp + 0x7c], edx
shr esi, 0x1d
shl edx, 3
sub ecx, 4
or esi, edx
mov dword [ecx + 4], esi
cmp ecx, ebx
je 0x6e949ce3
mov edx, dword [ecx]
mov esi, dword [ecx - 4]
jmp 0x6e949bd4
mov ecx, dword [esp + 0x24]
or ecx, dword [esp + 0x28]
mov ebx, 1
or ecx, dword [esp + 0x20]
or ecx, edx
je 0x6e949cc0
test edx, edx
je 0x6e94a0d3
bsr eax, edx
xor eax, 0x1f
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
sub eax, 0xc
mov ebx, eax
sar ebx, 5
and eax, 0x1f
mov dword [esp + 0x20], eax
je 0x6e94a0b1
cmp ebx, 3
je 0x6e94a8b0
lea esi, [esp + 0x70]
mov eax, ebx
mov dword [esp + 0x40], edi
neg eax
lea edx, [esi + eax*4 + 0xc]
mov eax, 0x20
sub eax, dword [esp + 0x20]
mov dword [esp + 0x28], eax
movzx ecx, byte [esp + 0x28]
mov eax, dword [edx - 4]
mov edi, dword [edx]
shr eax, cl
movzx ecx, byte [esp + 0x20]
shl edi, cl
or eax, edi
mov dword [edx + ebx*4], eax
sub edx, 4
cmp edx, esi
jne 0x6e949c5b
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
lea eax, [ebx - 1]
movzx ecx, byte [esp + 0x20]
shl edx, cl
mov dword [esp + ebx*4 + 0x70], edx
cmp eax, 0xffffffff
lea esi, [esp + 0x70]
je 0x6e949ca8
mov dword [esi + eax*4], 0
sub eax, 1
cmp eax, 0xffffffff
jne case.default.0x6e949cdc
mov eax, 0xffffc011
or dword [esp + 0x38], 2
sub eax, dword [esp + 0x24]
xor ebx, ebx
nop
lea esi, [esi]
movzx edx, byte [esp + 0x2c]
sub edi, eax
xor dl, byte [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x4c], edi
movzx esi, dl
or eax, ebx
mov dword [esp + 0x48], esi
jmp dword [eax*4 + 0x6e9583ec]
shl dword [esp + 0x70], 3
sub eax, 0x3fff
xor ebx, ebx
jmp 0x6e949cc0
mov esi, dword [esp + 0x24]
or esi, dword [esp + 0x28]
mov ebx, 2
or esi, dword [esp + 0x20]
or esi, edx
je 0x6e949cc0
mov esi, dword [esp + 0x38]
mov bl, 3
mov edx, esi
or edx, 1
test cx, cx
cmovs edx, esi
mov dword [esp + 0x38], edx
jmp 0x6e949cc0
movsx ebp, cx
mov dword [esp + 0x30], 0xc
not ebp
shr ebp, 0x1f
mov dword [esp + 0x38], ebp
mov ebp, 3
jmp 0x6e949b4d
mov dword [esp + 0x30], 4
mov ebp, 1
mov dword [esp + 0x38], 0
jmp 0x6e949b4d
mov eax, dword [esp + 0x34]
mov dword [esp + 0x48], eax
movzx eax, byte [esp + 0x48]
mov edx, 0x7fff
xor ecx, ecx
xor esi, esi
xor edi, edi
xor ebx, ebx
and eax, 1
mov byte [esp + 0x1c], al
movzx eax, word [esp + 0x9e]
and dx, 0x7fff
mov word [esp + 0x9c], cx
movzx ecx, byte [esp + 0x1c]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], esi
and ax, 0x8000
or eax, edx
shl ecx, 7
mov word [esp + 0x9e], ax
shr ax, 8
and eax, 0x7f
mov edx, eax
mov eax, dword [esp + 0x38]
or edx, ecx
mov byte [esp + 0x9f], dl
mov ebp, dword [esp + 0x9c]
test eax, eax
jne 0x6e94a0a0
mov eax, dword [esp + 0xc0]
mov dword [eax], ebx
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov dword [eax + 0xc], ebp
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x60]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x8c], eax
cmp ebp, 2
je 0x6e949d5a
cmp ebp, 3
je 0x6e94ab98
mov eax, dword [esp + 0x34]
cmp ebp, 1
mov dword [esp + 0x48], eax
jne 0x6e949f7e
movzx eax, byte [esp + 0x48]
xor edx, edx
xor ecx, ecx
xor esi, esi
xor edi, edi
xor ebx, ebx
and eax, 1
mov byte [esp + 0x1c], al
jmp 0x6e949d7b
or dword [esp + 0x38], 4
jmp case.0x6e949cdc.8
mov eax, dword [esp + 0x7c]
cmp dword [esp + 0x6c], eax
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
ja 0x6e94a1a0
mov ebx, dword [esp + 0x78]
je 0x6e94a59e
sub dword [esp + 0x4c], 1
jmp 0x6e94a1ea
or dword [esp + 0x38], 1
mov byte [esp + 0x1c], 1
mov ecx, 0xffff8000
xor esi, esi
xor edi, edi
xor ebx, ebx
mov edx, 0x7fff
jmp 0x6e949d7b
mov eax, dword [esp + 0x70]
mov ebp, ebx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x34], eax
jmp 0x6e949e2c
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x7c]
cmp edx, eax
ja 0x6e94a4f0
mov esi, dword [esp + 0x78]
je 0x6e94a5d5
mov ecx, eax
movzx eax, byte [esp + 0x2c]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
or cx, 0x8000
mov byte [esp + 0x1c], al
jmp 0x6e949ee5
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x60], eax
mov ebp, dword [esp + 0x28]
je 0x6e94a82f
or dword [esp + 0x80], 1
mov eax, dword [esp + 0x4c]
lea edx, [eax + 0x3fff]
cmp edx, 0
jle 0x6e94a610
mov eax, dword [esp + 0x80]
test al, 7
je 0x6e94a010
movzx ecx, word [esp + 0x5e]
or dword [esp + 0x38], 0x20
and cx, 0xc00
cmp cx, 0x400
je 0x6e94a550
cmp cx, 0x800
je 0x6e94a8be
test cx, cx
jne 0x6e94a010
mov ecx, eax
and ecx, 0xf
cmp ecx, 4
je 0x6e94a010
mov esi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
add eax, 4
adc ecx, 0
adc ebx, 0
adc esi, 0
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], eax
lea esi, [esi]
mov eax, dword [esp + 0x8c]
test eax, 0x100000
je 0x6e94a034
mov edx, dword [esp + 0x4c]
and eax, 0xffefffff
mov dword [esp + 0x8c], eax
add edx, 0x4000
lea ebx, [esp + 0x80]
lea esi, [esp + 0x8c]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
add ebx, 4
shl ecx, 0x1d
shr eax, 3
or eax, ecx
mov dword [ebx - 4], eax
cmp ebx, esi
jne 0x6e94a042
mov eax, dword [esp + 0x8c]
shr eax, 3
cmp edx, 0x7ffe
jg 0x6e94a144
mov ecx, eax
movzx eax, byte [esp + 0x48]
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov esi, dword [esp + 0x88]
and dx, 0x7fff
and eax, 1
mov byte [esp + 0x1c], al
jmp 0x6e949d7b
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.6e947730
jmp 0x6e949de0
mov eax, ebx
lea edx, [esp + 0x60]
neg eax
lea eax, [esp + eax*4 + 0x70]
mov ecx, dword [eax + 0xc]
mov dword [eax + ebx*4 + 0xc], ecx
sub eax, 4
cmp eax, edx
jne 0x6e94a0bd
lea eax, [ebx - 1]
jmp 0x6e949c90
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x6e94a510
mov eax, dword [esp + 0x24]
test eax, eax
je 0x6e94a872
bsr edx, dword [esp + 0x24]
xor edx, 0x1f
lea eax, [edx + 0x40]
mov dword [esp + 0x24], eax
jmp 0x6e949c1c
mov eax, esi
lea edx, [esp + 0x50]
neg eax
lea eax, [esp + eax*4 + 0x60]
mov ecx, dword [eax + 0xc]
mov dword [eax + esi*4 + 0xc], ecx
sub eax, 4
cmp eax, edx
jne 0x6e94a10c
lea eax, [esi - 1]
jmp 0x6e949af0
test eax, eax
jne 0x6e94a524
test esi, esi
je 0x6e94a860
bsr ecx, esi
xor ecx, 0x1f
lea eax, [ecx + 0x40]
mov dword [esp + 0x30], eax
jmp 0x6e949a90
movzx ecx, word [esp + 0x5e]
and cx, 0xc00
cmp cx, 0x400
je 0x6e94a536
cmp cx, 0x800
je 0x6e94a8cf
xor ebx, ebx
test cx, cx
mov edx, 0x7fff
je 0x6e94a17f
mov edx, 0x7ffe
mov ecx, 0xffffffff
mov ebx, 0xffffffff
movzx eax, byte [esp + 0x48]
or dword [esp + 0x38], 0x28
mov esi, ebx
mov edi, ebx
and eax, 1
mov byte [esp + 0x1c], al
jmp 0x6e949d7b
mov ebx, dword [esp + 0x78]
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
shl edx, 0x1f
lea edi, [esp + 0x6c]
mov ecx, esi
shr esi, 1
shl ecx, 0x1f
or edx, esi
mov dword [esp + 0x9c], ecx
lea ecx, [esp + 0x60]
mov dword [ecx], edx
add ecx, 4
cmp ecx, edi
je 0x6e94a1e6
mov esi, dword [ecx]
mov edx, dword [ecx + 4]
add ecx, 4
shl edx, 0x1f
shr esi, 1
or edx, esi
mov dword [ecx - 4], edx
cmp ecx, edi
jne 0x6e94a1d0
shr dword [esp + 0x6c], 1
lea ecx, [esp + 0x70]
lea edx, [esp + 0x7c]
shr ebx, 0x14
shl eax, 0xc
sub edx, 4
or eax, ebx
mov dword [edx + 4], eax
cmp edx, ecx
je 0x6e94a210
mov eax, dword [edx]
mov ebx, dword [edx - 4]
jmp 0x6e94a1f2
lea eax, [esp + 0x80]
shl dword [esp + 0x70], 0xc
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x1c], 3
mov dword [esp + 0x20], eax
jmp 0x6e94a276
je 0x6e94a4a0
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
sub ebx, dword [esp + 0x30]
sbb ecx, dword [esp + 0x34]
sbb eax, dword [esp + 0x2c]
sbb edx, dword [esp + 0x28]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], eax
test edi, edi
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], ebx
je 0x6e949f64
mov ecx, dword [esp + 0x7c]
sub dword [esp + 0x1c], 1
sub dword [esp + 0x20], 4
cmp edx, ecx
je 0x6e94a360
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
div ecx
mov ebx, edx
mov dword [esp + 0x6c], edx
mov dword [esp + edi*4 + 0x80], eax
mov eax, dword [esp + 0x20]
mov edi, dword [esp + edi*4 + 0x90]
mov esi, dword [eax + 0xc]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x24], edi
mov ecx, eax
mov dword [esp + 0x3c], eax
mov eax, esi
mul ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x74]
mov ebp, edx
mov ecx, eax
mov dword [esp + 0x40], eax
mov eax, esi
mul ecx
mov ecx, edx
add ebp, eax
adc ecx, 0
mov eax, esi
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x78]
mul ebp
add ecx, eax
adc edx, 0
mov dword [esp + 0x28], edx
cmp dword [esp + 0x28], ebx
mov edx, ebx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ecx
jbe 0x6e94a232
mov edi, dword [esp + 0x20]
sub esi, 1
mov edx, dword [esp + 0x40]
mov dword [edi + 0xc], esi
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x44], esi
add edi, dword [esp + 0x24]
adc edx, ecx
adc ebp, eax
adc esi, ebx
cmp esi, dword [esp + 0x44]
mov ebx, edx
mov dword [esp + 0x64], edx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebp
mov edx, esi
mov dword [esp + 0x60], edi
ja 0x6e94a422
je 0x6e94a4d0
mov dword [esp + 0x24], edi
mov ecx, ebx
mov eax, ebp
jmp 0x6e94a238
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
test ebp, ebp
mov dword [eax + 0xc], 0xffffffff
je 0x6e949f7e
mov eax, dword [esp + 0x78]
xor ebx, ebx
mov ebp, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
mov edi, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x70]
mov edx, edi
mov esi, eax
mov eax, ebp
mov dword [esp + 0x24], esi
mov ecx, esi
mov esi, dword [esp + 0x1c]
sub ebx, dword [esp + esi*4 + 0x90]
sbb ecx, dword [esp + 0x60]
sbb edx, dword [esp + 0x64]
sbb eax, dword [esp + 0x68]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x7c]
sub esi, ebx
sbb edi, ecx
sbb ebp, dword [esp + 0x28]
sbb edx, eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], esi
mov ecx, dword [esp + 0x7c]
cmp edx, ecx
jbe 0x6e94a26c
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x24]
mov dword [eax + 0xc], 0xfffffffe
mov eax, ecx
add esi, dword [esp + 0x60]
adc edi, dword [esp + 0x64]
adc ebx, ebp
adc eax, edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ebx
mov edx, eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], esi
jmp 0x6e94a26c
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x24], edi
cmp dword [esp + 0x28], esi
ja 0x6e94a470
jne 0x6e94a238
cmp dword [esp + 0x2c], eax
ja 0x6e94a470
mov edx, dword [esp + 0x28]
jne 0x6e94a238
cmp dword [esp + 0x34], ecx
ja 0x6e94a470
je 0x6e94ab79
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
jmp 0x6e94a238
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
sub dword [edi + 0xc], 1
mov edi, dword [esp + 0x78]
add ebp, dword [esp + 0x24]
adc ebx, ecx
adc edi, eax
adc edx, esi
mov dword [esp + 0x24], ebp
mov ecx, ebx
mov eax, edi
jmp 0x6e94a238
cmp dword [esp + 0x2c], eax
ja 0x6e94a305
mov edx, dword [esp + 0x28]
jne 0x6e94a238
cmp ecx, dword [esp + 0x34]
jb 0x6e94a305
jne 0x6e94a45a
mov edx, dword [esp + 0x30]
cmp edi, edx
jb 0x6e94a305
jmp 0x6e94a45a
cmp ebp, dword [esp + 0x78]
mov eax, ebp
ja 0x6e94a422
je 0x6e94a886
mov dword [esp + 0x24], edi
mov ecx, ebx
jmp 0x6e94a238
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov ecx, edx
mov ebx, dword [esp + 0x60]
or cx, 0x8000
jmp 0x6e949ee5
bsr edx, dword [esp + 0x20]
xor edx, 0x1f
lea eax, [edx + 0x20]
mov dword [esp + 0x24], eax
jmp 0x6e949c1c
bsr eax, eax
xor eax, 0x1f
add eax, 0x20
mov dword [esp + 0x30], eax
jmp 0x6e949a90
mov eax, dword [esp + 0x48]
cmp eax, 1
sbb edx, edx
add dx, 0x7fff
cmp eax, 1
sbb ecx, ecx
mov ebx, ecx
jmp 0x6e94a17f
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x6e94a010
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x84]
add eax, 8
adc esi, 0
adc ebx, 0
adc ecx, 0
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], eax
jmp 0x6e94a010
cmp dword [esp + 0x68], ebx
ja 0x6e94a1a0
jne 0x6e949ec4
mov edx, dword [esp + 0x64]
cmp edx, dword [esp + 0x74]
ja 0x6e94a1a8
jne 0x6e949ec4
mov edi, dword [esp + 0x70]
cmp dword [esp + 0x60], edi
jb 0x6e949ec4
jmp 0x6e94a1a8
cmp dword [esp + 0x68], esi
ja 0x6e94a4f0
jne 0x6e949f4a
mov edi, dword [esp + 0x64]
cmp edi, dword [esp + 0x74]
ja 0x6e94a4f8
jne 0x6e949f4a
mov ebx, dword [esp + 0x70]
cmp dword [esp + 0x60], ebx
jbe 0x6e949f4a
jmp 0x6e94a4f8
mov ebp, 1
jne 0x6e94a671
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
test dl, 7
je 0x6e94a666
movzx ecx, word [esp + 0x5e]
or dword [esp + 0x38], 0x20
and cx, 0xc00
cmp cx, 0x400
je 0x6e94aa20
cmp cx, 0x800
je 0x6e94aa01
test cx, cx
je 0x6e94aada
shr eax, 0x14
xor eax, 1
and eax, 1
mov ebp, eax
mov eax, 0xffffc002
sub eax, dword [esp + 0x4c]
cmp eax, 0x74
jg 0x6e94a794
lea edi, [eax + 0x1f]
test eax, eax
cmovns edi, eax
cdq
xor esi, esi
shr edx, 0x1b
sar edi, 5
add eax, edx
and eax, 0x1f
sub eax, edx
test edi, edi
mov ebx, eax
jle 0x6e94a9fa
lea eax, [esp + 0x80]
xor edx, edx
or esi, dword [eax + edx*4]
add edx, 1
cmp edx, edi
jne 0x6e94a6ae
mov eax, edi
test ebx, ebx
jne 0x6e94a8f2
lea eax, [esp + 0x80]
mov ebx, 3
xor edx, edx
sub ebx, edi
mov dword [esp + 0x1c], esi
lea ecx, [eax + edi*4]
lea esi, [esi]
mov esi, dword [ecx + edx*4]
mov dword [eax + edx*4], esi
add edx, 1
cmp edx, ebx
jle 0x6e94a6e0
mov esi, dword [esp + 0x1c]
mov edx, 4
sub edx, edi
cmp edx, 3
jg 0x6e94a713
lea eax, [esp + 0x80]
mov dword [eax + edx*4], 0
add edx, 1
cmp edx, 4
jne 0x6e94a704
xor eax, eax
test esi, esi
setne al
or eax, dword [esp + 0x80]
test al, 7
mov dword [esp + 0x80], eax
je 0x6e94a75a
movzx edx, word [esp + 0x5e]
or dword [esp + 0x38], 0x20
and dx, 0xc00
cmp dx, 0x400
je 0x6e94aacc
cmp dx, 0x800
je 0x6e94aa7e
test dx, dx
je 0x6e94aa2e
test byte [esp + 0x8e], 8
je 0x6e94a991
or dword [esp + 0x38], 0x20
xor ecx, ecx
xor esi, esi
xor edi, edi
xor ebx, ebx
test ebp, ebp
mov edx, 1
je 0x6e94a783
or dword [esp + 0x38], 0x10
movzx eax, byte [esp + 0x48]
and eax, 1
mov byte [esp + 0x1c], al
jmp 0x6e949d7b
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
xor ecx, ecx
mov esi, dword [esp + 0x88]
mov eax, edi
or eax, ebx
or eax, esi
or eax, dword [esp + 0x8c]
je 0x6e94a817
movzx eax, word [esp + 0x5e]
or dword [esp + 0x38], 0x20
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 1
and ax, 0xc00
cmp ax, 0x400
je 0x6e94ab5f
cmp ax, 0x800
je 0x6e94ab38
test ax, ax
je 0x6e94aafb
xor esi, esi
xor edi, edi
xor ebx, ebx
or dword [esp + 0x38], 0x10
movzx eax, byte [esp + 0x48]
xor edx, edx
and eax, 1
mov byte [esp + 0x1c], al
jmp 0x6e949d7b
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x64], eax
jne 0x6e949f76
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x68], eax
jne 0x6e949f76
cmp dword [esp + 0x6c], ebp
jne 0x6e949f76
jmp 0x6e949f7e
bsr ecx, ebx
xor ecx, 0x1f
lea eax, [ecx + 0x60]
mov dword [esp + 0x30], eax
jmp 0x6e949a90
bsr edx, dword [esp + 0x28]
xor edx, 0x1f
lea eax, [edx + 0x60]
mov dword [esp + 0x24], eax
jmp 0x6e949c1c
cmp ebx, dword [esp + 0x74]
mov ecx, ebx
ja 0x6e94a422
mov dword [esp + 0x24], edi
jne 0x6e94a238
cmp edi, dword [esp + 0x70]
jb 0x6e94a238
jmp 0x6e94a432
mov edx, dword [esp + 0x28]
mov eax, 2
jmp 0x6e949c85
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x6e94a010
jmp 0x6e94a55c
mov eax, dword [esp + 0x48]
cmp eax, 1
sbb edx, edx
not edx
add dx, 0x7fff
cmp eax, 1
sbb ecx, ecx
cmp eax, 1
sbb ebx, ebx
not ecx
not ebx
jmp 0x6e94a17f
mov edx, 0x20
mov eax, dword [esp + eax*4 + 0x80]
sub edx, ebx
mov ecx, edx
mov dword [esp + 0x1c], edx
shl eax, cl
or esi, eax
mov eax, 3
sub eax, edi
mov ecx, eax
mov dword [esp + 0x20], eax
je 0x6e94ab6f
lea eax, [esp + 0x80]
add ecx, edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebp
lea edx, [eax + edi*4]
lea eax, [eax + ecx*4]
mov ecx, eax
mov eax, edi
neg eax
mov esi, ecx
shl eax, 2
mov edi, eax
movzx ecx, byte [esp + 0x1c]
mov eax, dword [edx + 4]
add edx, 4
mov ebp, dword [edx - 4]
shl eax, cl
mov ecx, ebx
shr ebp, cl
or eax, ebp
mov dword [edx + edi - 4], eax
cmp edx, esi
jne 0x6e94a945
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
mov edx, 4
mov ebp, dword [esp + 0x28]
sub edx, edi
mov eax, dword [esp + 0x8c]
mov edi, dword [esp + 0x20]
mov ecx, ebx
shr eax, cl
mov dword [esp + edi*4 + 0x80], eax
jmp 0x6e94a6f8
lea ecx, [esp + 0x80]
lea ebx, [esp + 0x8c]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
add ecx, 4
shl edx, 0x1d
shr eax, 3
or eax, edx
mov dword [ecx - 4], eax
cmp ecx, ebx
jne 0x6e94a99f
mov eax, dword [esp + 0x8c]
xor edx, edx
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov esi, dword [esp + 0x88]
shr eax, 3
test ebp, ebp
mov ecx, eax
je 0x6e94a783
test byte [esp + 0x38], 0x20
jne 0x6e94a9f3
test byte [esp + 0x5e], 0x10
je 0x6e94a81c
xor edx, edx
jmp 0x6e94a77e
xor eax, eax
jmp 0x6e94a6ba
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x6e94a666
mov ecx, esi
add edx, 8
adc ecx, 0
adc ebx, 0
adc eax, 0
jmp 0x6e94a666
mov ebp, dword [esp + 0x48]
test ebp, ebp
je 0x6e94a666
jmp 0x6e94aa0d
mov edx, eax
and edx, 0xf
cmp edx, 4
je 0x6e94a75a
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
add eax, 4
adc edx, 0
adc ecx, 0
adc ebx, 0
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
jmp 0x6e94a75a
mov edi, dword [esp + 0x48]
test edi, edi
jne 0x6e94a75a
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
add eax, 8
adc edx, 0
adc ecx, 0
adc ebx, 0
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
jmp 0x6e94a75a
mov esi, dword [esp + 0x48]
test esi, esi
je 0x6e94a75a
jmp 0x6e94aa8a
mov ecx, edx
and ecx, 0xf
cmp ecx, 4
je 0x6e94a666
mov ecx, esi
add edx, 4
adc ecx, 0
adc ebx, 0
adc eax, 0
jmp 0x6e94a666
xor eax, eax
mov ebx, 1
mov esi, eax
mov edi, eax
add ebx, 4
adc edi, 0
adc esi, 0
adc eax, 0
mov dword [esp + 0x80], ebx
mov dword [esp + 0x8c], eax
shr ebx, 3
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], edi
mov ecx, eax
jmp 0x6e94a817
mov ebx, dword [esp + 0x48]
test ebx, ebx
jne 0x6e94a811
mov eax, dword [esp + 0x48]
mov ebx, 1
mov esi, eax
mov edi, eax
add ebx, 8
adc edi, 0
adc esi, 0
adc eax, 0
jmp 0x6e94ab12
mov edx, dword [esp + 0x48]
test edx, edx
je 0x6e94a811
xor eax, eax
jmp 0x6e94ab48
mov edx, 1
jmp 0x6e94a976
mov ebx, dword [esp + 0x24]
cmp dword [esp + 0x30], ebx
ja 0x6e94a470
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
jmp 0x6e94a238
movzx eax, byte [esp + 0x34]
movzx ecx, word [esp + 0x8c]
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov esi, dword [esp + 0x88]
and eax, 1
or cx, 0x8000
mov byte [esp + 0x1c], al
jmp 0x6e949ee5
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
cmp esi, 2
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x8c], eax
jne 0x6e94b64f
movzx eax, byte [esp + 0x18]
xor edx, edx
xor esi, esi
xor edi, edi
xor ebx, ebx
and eax, 1
mov byte [esp + 0x14], al
mov eax, 0x7fff
mov word [esp + 0x9c], dx
movzx edx, word [esp + 0x9e]
and ax, 0x7fff
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], esi
and dx, 0x8000
or eax, edx
movzx edx, byte [esp + 0x14]
mov word [esp + 0x9e], ax
shr ax, 8
and eax, 0x7f
shl edx, 7
or edx, eax
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x9f], dl
mov ebp, dword [esp + 0x9c]
test eax, eax
jne 0x6e94bb80
mov eax, dword [esp + 0xd0]
mov dword [eax], ebx
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov dword [eax + 0xc], ebp
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x70]
mov esi, ecx
cmp esi, 2
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x8c], eax
je 0x6e94b56d
cmp esi, 3
je 0x6e94c2c2
cmp esi, 1
jne 0x6e94c2f5
movzx eax, byte [esp + 0x18]
xor edx, edx
xor esi, esi
xor edi, edi
xor ebx, ebx
and eax, 1
mov byte [esp + 0x14], al
xor eax, eax
jmp 0x6e94b586
or dword [esp + 0x1c], 1
mov byte [esp + 0x14], 1
mov edx, 0xffff8000
xor esi, esi
xor edi, edi
xor ebx, ebx
mov eax, 0x7fff
jmp 0x6e94b586
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x60]
mul dword [esp + 0x70]
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x90], eax
mov eax, esi
mul ecx
mov ebp, edx
mov esi, eax
mov eax, edi
mul ebx
mov dword [esp + 0x2c], eax
mov eax, edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0x30], edx
mul ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], eax
mov eax, edi
mov edi, ebp
mul dword [esp + 0x78]
mov ebp, esi
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], eax
xor esi, esi
mov eax, dword [esp + 0x68]
mul ebx
xor ebx, ebx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x30]
add ebp, dword [esp + 0x28]
adc edi, 0
adc ebx, 0
add ecx, ebp
adc edx, edi
adc esi, ebx
xor ebx, ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x94], ecx
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
add edi, edx
adc ebp, esi
adc ebx, 0
xor esi, esi
mov edx, dword [esp + 0x40]
add ecx, edi
adc edx, ebp
adc esi, ebx
xor ebx, ebx
mov edi, dword [esp + 0x44]
mov ebp, eax
add ebp, ecx
adc edi, edx
adc ebx, esi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x98], ebp
mov ebp, dword [esp + 0x60]
mov eax, ebp
mul dword [esp + 0x7c]
mov esi, edx
mov edx, dword [esp + 0x6c]
mov ebp, eax
mov eax, edx
mul dword [esp + 0x70]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x30], eax
mov eax, edx
mul dword [esp + 0x78]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x68]
mul dword [esp + 0x74]
mov dword [esp + 0x40], edx
xor edx, edx
add ebp, edi
adc esi, ebx
adc edx, 0
mov edi, dword [esp + 0x34]
xor ebx, ebx
mov ecx, edi
mov edi, dword [esp + 0x30]
add edi, ebp
adc ecx, esi
adc ebx, edx
mov ebp, dword [esp + 0x38]
xor esi, esi
mov edx, dword [esp + 0x3c]
add ebp, edi
adc edx, ecx
adc esi, ebx
mov edi, dword [esp + 0x40]
xor ebx, ebx
mov ecx, edi
mov edi, eax
add edi, ebp
adc ecx, edx
adc ebx, esi
mov esi, dword [esp + 0x68]
mov dword [esp + 0x30], edi
mov dword [esp + 0x9c], edi
mov edi, dword [esp + 0x78]
mov eax, esi
mul edi
mov ebp, edx
mov edx, dword [esp + 0x64]
mov esi, eax
mov eax, edx
mul dword [esp + 0x7c]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x34], eax
mov eax, edx
mul dword [esp + 0x74]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x3c], eax
mov eax, edx
mul dword [esp + 0x7c]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x6c]
mul edi
mov edi, ebp
mov dword [esp + 0x4c], edx
mov ebp, esi
xor edx, edx
xor esi, esi
add ebp, ecx
adc edi, ebx
adc edx, 0
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
add ecx, ebp
adc ebx, edi
adc esi, edx
xor edi, edi
mov ebp, ecx
mov edx, dword [esp + 0x40]
mov ecx, ebx
mov ebx, dword [esp + 0x3c]
add ebx, ebp
adc edx, ecx
adc edi, esi
mov ebp, dword [esp + 0x48]
mov dword [esp + 0xa0], ebx
xor ecx, ecx
xor ebx, ebx
mov esi, dword [esp + 0x44]
add esi, edx
adc ebp, edi
adc ebx, 0
mov edi, dword [esp + 0x4c]
add eax, esi
adc edi, ebp
adc ecx, ebx
mov ebx, dword [esp + 0x28]
or ebx, dword [esp + 0x14]
lea esi, [esp + 0x90]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x6c]
mul dword [esp + 0x7c]
add eax, edi
adc edx, ecx
mov dword [esp + 0xac], edx
mov dword [esp + 0xa8], eax
lea edi, [esp + 0xa0]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
or eax, ebx
mov ebx, edx
shl ebx, 0xd
or ebx, eax
mov eax, dword [esi + 0x10]
shr edx, 0x13
add esi, 4
shl eax, 0xd
or edx, eax
mov dword [esi - 4], edx
cmp esi, edi
je 0x6e94b9c0
mov edx, dword [esi + 0xc]
jmp 0x6e94b959
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x7c]
cmp edx, eax
ja 0x6e94bc40
mov esi, dword [esp + 0x78]
je 0x6e94bce4
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
cmp ecx, ebx
je 0x6e94bd80
mov edx, eax
movzx eax, byte [esp + 0x2c]
or dx, 0x8000
mov byte [esp + 0x14], al
jmp 0x6e94b715
mov ecx, dword [esp + 0x98]
xor eax, eax
test ebx, ebx
setne al
mov edx, dword [esp + 0x9c]
or eax, dword [esp + 0x90]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x8c], edx
and edx, 0x100000
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
je 0x6e94ba5d
mov esi, eax
lea edx, [esp + 0x80]
shl ecx, 0x1f
shr eax, 1
lea ebx, [esp + 0x8c]
shl esi, 0x1f
or eax, ecx
mov dword [edx], eax
add edx, 4
cmp edx, ebx
je 0x6e94ba40
mov eax, dword [edx]
mov ecx, dword [edx + 4]
add edx, 4
shl ecx, 0x1f
shr eax, 1
or eax, ecx
mov dword [edx - 4], eax
cmp edx, ebx
jne 0x6e94ba2a
xor eax, eax
shr dword [esp + 0x8c], 1
test esi, esi
setne al
or dword [esp + 0x80], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
lea ecx, [eax + 0x3fff]
cmp ecx, 0
jle 0x6e94bda3
mov eax, dword [esp + 0x80]
test al, 7
je 0x6e94baf0
movzx edx, word [esp + 0x5e]
or dword [esp + 0x1c], 0x20
and dx, 0xc00
cmp dx, 0x400
je 0x6e94bd15
cmp dx, 0x800
je 0x6e94c032
test dx, dx
jne 0x6e94baf0
mov edx, eax
and edx, 0xf
cmp edx, 4
je 0x6e94baf0
mov esi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
add eax, 4
adc edx, 0
adc ebx, 0
adc esi, 0
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
lea esi, [esi]
mov eax, dword [esp + 0x8c]
test eax, 0x100000
je 0x6e94bb14
mov ecx, dword [esp + 0x20]
and eax, 0xffefffff
mov dword [esp + 0x8c], eax
add ecx, 0x4000
lea ebx, [esp + 0x80]
lea esi, [esp + 0x8c]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
add ebx, 4
shl edx, 0x1d
shr eax, 3
or eax, edx
mov dword [ebx - 4], eax
cmp ebx, esi
jne 0x6e94bb22
mov edx, dword [esp + 0x8c]
shr edx, 3
cmp ecx, 0x7ffe
jg 0x6e94bc60
mov eax, ecx
movzx ecx, byte [esp + 0x18]
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov esi, dword [esp + 0x88]
and ax, 0x7fff
and ecx, 1
mov byte [esp + 0x14], cl
jmp 0x6e94b586
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.6e947730
jmp 0x6e94b5e9
cmp dword [esp + 0x60], ebx
ja 0x6e94bc48
jne 0x6e94b9a1
nop
lea esi, [esi]
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x60]
or dx, 0x8000
jmp 0x6e94b715
movzx edx, word [esp + 0x5e]
and dx, 0xc00
cmp dx, 0x400
je 0x6e94bd63
cmp dx, 0x800
je 0x6e94c010
xor ebx, ebx
test dx, dx
mov eax, 0x7fff
je 0x6e94bc9b
mov eax, 0x7ffe
mov edx, 0xffffffff
mov ebx, 0xffffffff
movzx ecx, byte [esp + 0x18]
or dword [esp + 0x1c], 0x28
mov esi, ebx
mov edi, ebx
and ecx, 1
mov byte [esp + 0x14], cl
jmp 0x6e94b586
cmp dword [esp + 0x68], esi
ja 0x6e94bc40
jne 0x6e94b98d
mov edi, dword [esp + 0x64]
mov ecx, dword [esp + 0x74]
cmp edi, ecx
ja 0x6e94bc48
mov ebx, dword [esp + 0x70]
je 0x6e94bc2c
mov edi, ecx
jmp 0x6e94b9a1
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x6e94baf0
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
mov ebx, dword [esp + 0x84]
add eax, 8
adc ebx, 0
adc esi, 0
adc edx, 0
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ebx
mov dword [esp + 0x80], eax
jmp 0x6e94baf0
mov esi, dword [esp + 0x18]
cmp esi, 1
sbb eax, eax
add ax, 0x7fff
cmp esi, 1
sbb edx, edx
mov ebx, edx
jmp 0x6e94bc9b
cmp dword [esp + 0x64], edi
jne 0x6e94b9a1
cmp dword [esp + 0x68], esi
jne 0x6e94bd98
cmp edx, eax
je 0x6e94bc40
mov edi, dword [esp + 0x74]
mov ebx, ecx
jmp 0x6e94b9a1
mov ebp, 1
jne 0x6e94be0b
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
test dl, 7
je 0x6e94be00
movzx ecx, word [esp + 0x5e]
or dword [esp + 0x1c], 0x20
and cx, 0xc00
cmp cx, 0x400
je 0x6e94c2aa
cmp cx, 0x800
je 0x6e94c28d
test cx, cx
je 0x6e94c150
lea esi, [esi]
shr eax, 0x14
xor eax, 1
and eax, 1
mov ebp, eax
mov eax, 0xffffc002
sub eax, dword [esp + 0x20]
cmp eax, 0x74
jg 0x6e94bf30
lea edi, [eax + 0x1f]
test eax, eax
cmovns edi, eax
cdq
xor esi, esi
shr edx, 0x1b
sar edi, 5
add eax, edx
and eax, 0x1f
sub eax, edx
test edi, edi
mov ebx, eax
jle 0x6e94c149
lea eax, [esp + 0x80]
xor edx, edx
or esi, dword [eax + edx*4]
add edx, 1
cmp edx, edi
jne 0x6e94be48
mov eax, edi
test ebx, ebx
jne 0x6e94c0b0
lea eax, [esp + 0x80]
mov ebx, 3
xor edx, edx
sub ebx, edi
mov dword [esp + 0x14], esi
lea ecx, [eax + edi*4]
mov esi, dword [ecx + edx*4]
mov dword [eax + edx*4], esi
add edx, 1
cmp ebx, edx
jge 0x6e94be73
mov esi, dword [esp + 0x14]
mov edx, 4
sub edx, edi
cmp edx, 3
jg 0x6e94bea6
lea eax, [esp + 0x80]
mov dword [eax + edx*4], 0
add edx, 1
cmp edx, 4
jne 0x6e94be97
xor eax, eax
test esi, esi
setne al
or eax, dword [esp + 0x80]
test al, 7
mov dword [esp + 0x80], eax
je 0x6e94bef0
movzx edx, word [esp + 0x5e]
or dword [esp + 0x1c], 0x20
and dx, 0xc00
cmp dx, 0x400
je 0x6e94c22f
cmp dx, 0x800
je 0x6e94c1e1
test dx, dx
je 0x6e94c23d
lea esi, [esi]
test byte [esp + 0x8e], 8
je 0x6e94c043
or dword [esp + 0x1c], 0x20
xor edx, edx
xor esi, esi
xor edi, edi
xor ebx, ebx
test ebp, ebp
mov eax, 1
je 0x6e94bf19
or dword [esp + 0x1c], 0x10
movzx ecx, byte [esp + 0x18]
and ecx, 1
mov byte [esp + 0x14], cl
jmp 0x6e94b586
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
xor edx, edx
mov esi, dword [esp + 0x88]
mov eax, edi
or eax, ebx
or eax, esi
or eax, dword [esp + 0x8c]
je 0x6e94bfb3
movzx eax, word [esp + 0x5e]
or dword [esp + 0x1c], 0x20
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 1
and ax, 0xc00
cmp ax, 0x400
je 0x6e94c1d1
cmp ax, 0x800
je 0x6e94c1aa
test ax, ax
je 0x6e94c16f
xor esi, esi
xor edi, edi
xor ebx, ebx
or dword [esp + 0x1c], 0x10
movzx eax, byte [esp + 0x18]
and eax, 1
mov byte [esp + 0x14], al
xor eax, eax
jmp 0x6e94b586
mov esi, dword [esp + 0x18]
cmp esi, 1
sbb eax, eax
not eax
add ax, 0x7fff
cmp esi, 1
sbb edx, edx
cmp esi, 1
sbb ebx, ebx
not edx
not ebx
jmp 0x6e94bc9b
mov esi, dword [esp + 0x18]
test esi, esi
jne 0x6e94baf0
jmp 0x6e94bd21
lea ecx, [esp + 0x80]
lea ebx, [esp + 0x8c]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
add ecx, 4
shl edx, 0x1d
shr eax, 3
or eax, edx
mov dword [ecx - 4], eax
cmp ecx, ebx
jne 0x6e94c051
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov esi, dword [esp + 0x88]
shr eax, 3
mov edx, eax
xor eax, eax
test ebp, ebp
je 0x6e94bf19
test byte [esp + 0x1c], 0x20
jne 0x6e94c0a5
test byte [esp + 0x5e], 0x10
je 0x6e94bfb8
xor eax, eax
jmp 0x6e94bf14
mov edx, 0x20
mov eax, dword [esp + eax*4 + 0x80]
sub edx, ebx
mov ecx, edx
mov dword [esp + 0x14], edx
shl eax, cl
or esi, eax
mov eax, 3
sub eax, edi
mov ecx, eax
mov dword [esp + 0x24], eax
je 0x6e94c2b8
lea eax, [esp + 0x80]
add ecx, edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
lea edx, [eax + edi*4]
lea eax, [eax + ecx*4]
mov dword [esp + 0x20], eax
mov eax, edi
neg eax
shl eax, 2
mov esi, eax
movzx ecx, byte [esp + 0x14]
mov eax, dword [edx + 4]
add edx, 4
mov edi, dword [edx - 4]
shl eax, cl
mov ecx, ebx
shr edi, cl
or eax, edi
mov dword [edx + esi - 4], eax
cmp edx, dword [esp + 0x20]
jne 0x6e94c0ff
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov edx, 4
sub edx, edi
mov eax, dword [esp + 0x8c]
mov edi, dword [esp + 0x24]
mov ecx, ebx
shr eax, cl
mov dword [esp + edi*4 + 0x80], eax
jmp 0x6e94be8b
xor eax, eax
jmp 0x6e94be54
mov ecx, edx
and ecx, 0xf
cmp ecx, 4
je 0x6e94be00
add edx, 4
adc esi, 0
adc ebx, 0
adc eax, 0
jmp 0x6e94be00
xor edx, edx
mov ebx, 1
mov esi, edx
mov edi, edx
add ebx, 4
adc edi, 0
adc esi, 0
adc edx, 0
mov dword [esp + 0x80], ebx
mov dword [esp + 0x8c], edx
shr ebx, 3
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], edi
jmp 0x6e94bfb3
mov ebx, dword [esp + 0x18]
test ebx, ebx
jne 0x6e94bfad
mov edx, dword [esp + 0x18]
mov ebx, 1
mov esi, edx
mov edi, edx
add ebx, 8
adc edi, 0
adc esi, 0
adc edx, 0
jmp 0x6e94c186
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x6e94bfad
xor edx, edx
jmp 0x6e94c1ba
mov edi, dword [esp + 0x18]
test edi, edi
jne 0x6e94bef0
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
add eax, 8
adc edx, 0
adc ecx, 0
adc ebx, 0
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
jmp 0x6e94bef0
mov esi, dword [esp + 0x18]
test esi, esi
je 0x6e94bef0
jmp 0x6e94c1ed
mov edx, eax
and edx, 0xf
cmp edx, 4
je 0x6e94bef0
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
add eax, 4
adc edx, 0
adc ecx, 0
adc ebx, 0
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
jmp 0x6e94bef0
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x6e94be00
add edx, 8
adc esi, 0
adc ebx, 0
adc eax, 0
jmp 0x6e94be00
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x6e94be00
jmp 0x6e94c299
mov edx, 1
jmp 0x6e94c12e
movzx eax, byte [esp + 0x18]
movzx edx, word [esp + 0x8c]
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov esi, dword [esp + 0x88]
and eax, 1
or dx, 0x8000
mov byte [esp + 0x14], al
jmp 0x6e94b715
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], eax
jmp 0x6e94ba5d
movzx edx, byte [eax]
lea ebx, [eax + 1]
mov esi, edx
and esi, 0xffffffc0
mov ecx, esi
cmp cl, 0x40
je 0x6e951034
mov ecx, esi
cmp cl, 0x80
je 0x6e951080
mov ecx, esi
cmp cl, 0xc0
je 0x6e9510d0
cmp dl, 0x2f
ja case.0x6e951199.5
jmp dword [edx*4 + 0x6e95846c]
mov edi, dword [ebp + 8]
and edx, 0x3f
mov eax, dword [edi + 0xb0]
imul eax, edx
mov edx, dword [ebp - 0x30]
add edx, eax
mov eax, ebx
mov dword [edi + 0xa4], edx
cmp eax, dword [ebp - 0x34]
jae 0x6e951078
mov esi, dword [ebp + 8]
mov edi, dword [esi + 0xa4]
mov ebx, edi
mov dword [ebp - 0x30], edi
mov edi, dword [ebp - 0x38]
mov esi, dword [edi + 0x60]
mov edx, esi
mov dword [ebp - 0x2c], esi
shr edx, 0x1f
add edx, dword [edi + 0x4c]
cmp ebx, edx
jb 0x6e951000
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, edx
xor edi, edi
xor ecx, ecx
and esi, 0x3f
mov eax, esi
movzx eax, al
mov dword [ebp - 0x2c], eax
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or edi, eax
test dl, dl
js 0x6e951091
mov eax, ebx
mov ebx, dword [ebp + 8]
imul edi, dword [ebx + 0xac]
mov ebx, esi
cmp bl, 0x11
ja 0x6e951050
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x2c]
lea edx, [ebx + esi*8]
mov dword [edx + 4], 1
mov dword [edx], edi
jmp 0x6e951050
and edx, 0x3f
cmp dl, 0x11
movzx eax, dl
ja case.0x6e949cdc.32
mov edi, dword [ebp + 8]
mov dword [edi + eax*8 + 4], 0
mov eax, ebx
jmp 0x6e951050
mov eax, ebx
jmp 0x6e951050
test cl, cl
je 0x6e951772
cmp cl, 0x10
je 0x6e951772
call sub.msvcrt.dll_abort
xor edx, edx
xor ecx, ecx
mov esi, edx
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e951113
mov edi, dword [ebp - 0x38]
mov eax, ebx
mov dword [edi + 0x68], esi
jmp 0x6e951050
mov edi, dword [ebp + 8]
movzx esi, byte [edi + 0xb8]
mov ecx, esi
cmp cl, 0xff
je case.0x6e951199.5
and ecx, 0x70
cmp cl, 0x20
mov byte [ebp - 0x2c], cl
je 0x6e9517e2
jbe 0x6e9510f7
movzx ecx, byte [ebp - 0x2c]
cmp cl, 0x40
je 0x6e9517d4
cmp cl, 0x50
je 0x6e951772
cmp cl, 0x30
jne case.0x6e951199.5
mov edi, dword [ebp - 0x38]
mov edi, dword [edi + 0x58]
mov dword [ebp - 0x30], edi
mov ecx, esi
cmp cl, 0x50
je 0x6e9517c7
mov edx, esi
and edx, 0xf
cmp dl, 0xc
ja case.0x6e951199.5
movzx edx, dl
jmp dword [edx*4 + 0x6e95852c]
mov edi, dword [ebp + 8]
movzx edx, byte [eax + 1]
add eax, 2
imul edx, dword [edi + 0xb0]
add edx, dword [ebp - 0x30]
mov dword [edi + 0xa4], edx
jmp 0x6e951050
mov edi, dword [ebp + 8]
movzx edx, word [eax + 1]
add eax, 3
imul edx, dword [edi + 0xb0]
add edx, dword [ebp - 0x30]
mov dword [edi + 0xa4], edx
jmp 0x6e951050
mov edi, dword [ebp + 8]
add eax, 5
mov edx, dword [edi + 0xb0]
imul edx, dword [eax - 4]
add edx, dword [ebp - 0x30]
mov dword [edi + 0xa4], edx
jmp 0x6e951050
xor esi, esi
xor ecx, ecx
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e951200
xor edx, edx
xor ecx, ecx
mov edi, edx
lea esi, [esi]
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or edi, eax
test dl, dl
js 0x6e951220
mov edx, edi
mov edi, dword [ebp + 8]
mov eax, ebx
imul edx, dword [edi + 0xac]
cmp esi, 0x11
ja 0x6e951050
lea ecx, [edi + esi*8]
mov dword [ecx + 4], 1
mov dword [ecx], edx
jmp 0x6e951050
xor edx, edx
xor ecx, ecx
mov esi, edx
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e951265
cmp esi, 0x11
mov eax, ebx
ja 0x6e951050
mov edi, dword [ebp + 8]
mov dword [edi + esi*8 + 4], 0
jmp 0x6e951050
xor edx, edx
xor ecx, ecx
mov esi, edx
lea esi, [esi]
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e9512a0
cmp esi, 0x11
mov eax, ebx
ja 0x6e951050
mov edi, dword [ebp + 8]
mov dword [edi + esi*8 + 4], 6
jmp 0x6e951050
xor edx, edx
xor ecx, ecx
mov esi, edx
nop
lea esi, [esi]
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e9512e0
jmp 0x6e95127c
xor edx, edx
xor ecx, ecx
mov esi, edx
nop
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e951300
mov edx, esi
xor ecx, ecx
xor esi, esi
mov edi, edx
nop
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e951320
cmp edi, 0x11
mov edx, edi
mov eax, ebx
ja 0x6e951050
mov edi, dword [ebp + 8]
lea edx, [edi + edx*8]
mov dword [edx + 4], 2
mov dword [edx], esi
jmp 0x6e951050
mov edi, dword [ebp - 0x3c]
test edi, edi
mov eax, edi
je 0x6e9517f0
mov edi, dword [edi + 0x90]
mov dword [ebp - 0x3c], edi
mov edi, eax
mov esi, dword [ebp + 8]
mov ecx, 0x29
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 8]
mov dword [edi + 0x90], eax
mov eax, ebx
jmp 0x6e951050
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 8]
mov ecx, 0x29
mov eax, dword [eax + 0x90]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov dword [eax + 0x90], edi
mov eax, ebx
jmp 0x6e951050
xor esi, esi
xor ecx, ecx
lea esi, [esi]
lea edi, [edi]
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e9513c0
mov eax, dword [ebp + 8]
xor edx, edx
xor ecx, ecx
mov dword [eax + 0x98], esi
mov esi, edx
lea esi, [esi]
lea edi, [edi]
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e9513f0
mov edi, dword [ebp + 8]
mov eax, ebx
mov dword [edi + 0x94], esi
mov dword [edi + 0xa0], 1
jmp 0x6e951050
xor edx, edx
xor ecx, ecx
mov esi, edx
mov esi, esi
lea edi, [edi]
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e951430
mov edi, dword [ebp + 8]
mov eax, ebx
mov dword [edi + 0x98], esi
mov dword [edi + 0xa0], 1
jmp 0x6e951050
xor edx, edx
xor ecx, ecx
mov esi, edx
mov esi, esi
lea edi, [edi]
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e951470
mov edi, dword [ebp + 8]
mov eax, ebx
mov dword [edi + 0x94], esi
jmp 0x6e951050
mov eax, dword [ebp + 8]
xor esi, esi
xor ecx, ecx
mov dword [eax + 0x9c], ebx
mov dword [eax + 0xa0], 2
nop
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e9514b0
lea eax, [ebx + esi]
jmp 0x6e951050
xor esi, esi
xor ecx, ecx
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e9514d3
cmp esi, 0x11
ja 0x6e9514fe
mov eax, dword [ebp + 8]
lea eax, [eax + esi*8]
mov dword [eax + 4], 3
mov dword [eax], ebx
xor esi, esi
xor ecx, ecx
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e951502
lea eax, [ebx + esi]
jmp 0x6e951050
xor esi, esi
xor ecx, ecx
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e951525
lea edx, [ebp - 0x1c]
mov eax, ebx
call fcn.6e950f70
mov edi, dword [ebp + 8]
mov edx, dword [edi + 0xac]
imul edx, dword [ebp - 0x1c]
cmp esi, 0x11
jbe 0x6e95124e
jmp 0x6e951050
xor esi, esi
xor ecx, ecx
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e951565
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x1c]
mov dword [eax + 0x98], esi
mov eax, ebx
call fcn.6e950f70
mov edi, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
imul edx, dword [edi + 0xac]
mov dword [edi + 0xa0], 1
mov dword [edi + 0x94], edx
jmp 0x6e951050
lea edx, [ebp - 0x1c]
mov eax, ebx
call fcn.6e950f70
mov edi, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
imul edx, dword [edi + 0xac]
mov dword [edi + 0x94], edx
jmp 0x6e951050
xor esi, esi
xor ecx, ecx
mov esi, esi
lea edi, [edi]
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e9515e0
xor edx, edx
xor ecx, ecx
mov edi, edx
lea esi, [esi]
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or edi, eax
test dl, dl
js 0x6e951600
mov edx, edi
mov edi, dword [ebp + 8]
mov eax, ebx
imul edx, dword [edi + 0xac]
cmp esi, 0x11
ja 0x6e951050
lea ecx, [edi + esi*8]
mov dword [ecx + 4], 4
mov dword [ecx], edx
jmp 0x6e951050
xor esi, esi
xor ecx, ecx
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e951643
lea edx, [ebp - 0x1c]
mov eax, ebx
call fcn.6e950f70
mov edi, dword [ebp + 8]
mov edx, dword [edi + 0xac]
imul edx, dword [ebp - 0x1c]
cmp esi, 0x11
jbe 0x6e95162e
jmp 0x6e951050
xor esi, esi
xor ecx, ecx
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e951684
cmp esi, 0x11
ja 0x6e9516af
mov eax, dword [ebp + 8]
lea eax, [eax + esi*8]
mov dword [eax + 4], 5
mov dword [eax], ebx
xor esi, esi
xor ecx, ecx
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e9516b3
lea eax, [ebx + esi]
jmp 0x6e951050
mov eax, ebx
xor edi, edi
xor ecx, ecx
nop
lea esi, [esi]
add eax, 1
movzx ebx, byte [eax - 1]
mov edx, ebx
and edx, 0x7f
shl edx, cl
add ecx, 7
or edi, edx
test bl, bl
js 0x6e9516e0
xor esi, esi
xor ecx, ecx
nop
lea esi, [esi]
add eax, 1
movzx ebx, byte [eax - 1]
mov edx, ebx
and edx, 0x7f
shl edx, cl
add ecx, 7
or esi, edx
test bl, bl
js 0x6e951700
mov ebx, dword [ebp + 8]
imul esi, dword [ebx + 0xac]
cmp edi, 0x11
ja 0x6e951050
lea edx, [ebx + edi*8]
neg esi
mov dword [edx + 4], 1
mov dword [edx], esi
jmp 0x6e951050
mov edi, dword [eax + 1]
add eax, 5
xor edx, edx
test edi, edi
je 0x6e95175c
cmp byte [ebp - 0x2c], 0x10
cmovne ebx, dword [ebp - 0x30]
lea edx, [ebx + edi]
mov ebx, esi
test bl, bl
jns 0x6e95175c
mov edx, dword [edx]
mov edi, dword [ebp + 8]
mov dword [edi + 0xa4], edx
jmp 0x6e951050
mov edi, dword [eax + 1]
add eax, 9
jmp 0x6e951743
mov dword [ebp - 0x30], 0
jmp 0x6e95117d
movzx edi, word [eax + 1]
add eax, 3
jmp 0x6e951743
mov eax, ebx
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x40], ebx
add eax, 1
movzx ebx, byte [eax - 1]
mov edx, ebx
and edx, 0x7f
shl edx, cl
add ecx, 7
or edi, edx
test bl, bl
js 0x6e951790
mov ebx, dword [ebp - 0x40]
jmp 0x6e951743
lea edx, [ebp - 0x1c]
mov eax, ebx
call fcn.6e950f70
mov edi, dword [ebp - 0x1c]
jmp 0x6e951743
movsx edi, word [eax + 1]
add eax, 3
jmp 0x6e951743
lea edx, [ebx + 3]
and edx, 0xfffffffc
lea eax, [edx + 4]
mov edx, dword [edx]
jmp 0x6e95175c
mov edi, dword [ebp - 0x38]
mov edi, dword [edi + 0x5c]
mov dword [ebp - 0x30], edi
jmp 0x6e95117d
mov edi, dword [ebp - 0x38]
mov edi, dword [edi + 0x54]
mov dword [ebp - 0x30], edi
jmp 0x6e95117d
mov eax, 0xc0
call fcn.6e9415a0
sub esp, eax
lea eax, [esp + 0xf]
and eax, 0xfffffff0
jmp 0x6e95136e
cmp al, 0x52
je 0x6e951a40
cmp al, 0x50
je 0x6e951a50
cmp al, 0x53
jne 0x6e951dc1
mov byte [ebp + 0xbb], 1
movzx eax, byte [ebx]
add ebx, 1
test al, al
je 0x6e951ac2
cmp al, 0x4c
jne 0x6e9519f0
movzx eax, byte [edi]
add edi, 1
mov byte [ebp + 0xb9], al
jmp 0x6e951a07
movzx eax, byte [edi]
add edi, 1
mov byte [ebp + 0xb8], al
jmp 0x6e951a07
movzx esi, byte [edi]
mov eax, esi
cmp al, 0xff
je case.0x6e951bb4.5
and eax, 0x70
cmp al, 0x20
mov byte [esp + 0x14], al
je 0x6e951e10
jbe 0x6e951bc0
movzx eax, byte [esp + 0x14]
cmp al, 0x40
je 0x6e951e20
cmp al, 0x50
je 0x6e951d30
cmp al, 0x30
jne case.0x6e951bb4.5
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x58]
mov dword [esp + 0x28], eax
lea eax, [edi + 1]
mov dword [esp + 0x24], eax
mov eax, esi
cmp al, 0x50
je 0x6e951e00
mov eax, esi
and eax, 0xf
cmp al, 0xc
ja case.0x6e951bb4.5
movzx eax, al
jmp dword [eax*4 + 0x6e958560]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x6e952057
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esi]
mov dword [esp], ebp
lea edx, [esi + edx + 4]
call fcn.6e950fb0
movzx eax, byte [ebp + 0xb8]
cmp al, 0xff
je 0x6e951e30
and eax, 7
cmp al, 2
je 0x6e95204d
jbe 0x6e95203b
cmp al, 3
je 0x6e952043
cmp al, 4
mov ebx, 0x18
jne case.0x6e951bb4.5
add ebx, dword [esp + 0x1c]
cmp byte [ebp + 0xba], 0
je 0x6e951de0
xor esi, esi
xor ecx, ecx
nop
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e951b30
movzx eax, byte [ebp + 0xb9]
add esi, ebx
cmp al, 0xff
mov byte [esp + 0x10], al
je 0x6e951d09
movzx eax, byte [esp + 0x10]
and eax, 0x70
cmp al, 0x20
mov byte [esp + 0x20], al
je 0x6e9520a3
jbe 0x6e9520c1
movzx eax, byte [esp + 0x20]
cmp al, 0x40
je 0x6e952093
cmp al, 0x50
je 0x6e9520cd
cmp al, 0x30
jne case.0x6e951bb4.5
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x58]
mov dword [esp + 0x14], eax
cmp byte [esp + 0x10], 0x50
je 0x6e952083
movzx eax, byte [esp + 0x10]
and eax, 0xf
cmp al, 0xc
ja case.0x6e951bb4.5
movzx eax, al
jmp dword [eax*4 + 0x6e958594]
test al, al
je 0x6e951d30
cmp al, 0x10
je 0x6e951d30
call sub.msvcrt.dll_abort
mov eax, dword [edi + 1]
add edi, 5
xor edx, edx
test eax, eax
je 0x6e951c00
cmp byte [esp + 0x14], 0x10
mov ecx, dword [esp + 0x28]
cmove ecx, dword [esp + 0x24]
lea edx, [ecx + eax]
mov eax, esi
test al, al
jns 0x6e951c00
mov edx, dword [edx]
lea esi, [esi]
mov dword [ebp + 0xa8], edx
jmp 0x6e951a07
mov eax, dword [edi + 1]
add edi, 9
jmp 0x6e951bdb
mov edi, dword [ebx]
lea edx, [ebx + 4]
xor eax, eax
test edi, edi
je 0x6e951d00
cmp byte [esp + 0x20], 0x10
cmovne ebx, dword [esp + 0x14]
cmp byte [esp + 0x10], 0
lea eax, [ebx + edi]
jns 0x6e951d00
mov eax, dword [eax]
lea esi, [esi]
mov edi, dword [esp + 0x18]
mov ebx, edx
mov dword [edi + 0x50], eax
test esi, esi
cmove esi, ebx
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [edi]
mov dword [esp], ebp
lea edx, [edi + eax + 4]
mov eax, esi
call fcn.6e950fb0
add esp, 0x4c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x28], 0
jmp 0x6e951a9a
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x6e951ace
add esp, 0x4c
mov eax, 3
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, byte [ebp + 0xb9]
xor esi, esi
cmp al, 0xff
mov byte [esp + 0x10], al
jne 0x6e951b5c
mov esi, ebx
jmp 0x6e951d0e
lea eax, [edi + 4]
and eax, 0xfffffffc
lea edi, [eax + 4]
mov edx, dword [eax]
jmp 0x6e951c00
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x54]
mov dword [esp + 0x28], eax
jmp 0x6e951a9a
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x28], eax
jmp 0x6e951a9a
mov ebx, 8
jmp 0x6e951b19
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x3c]
call fcn.6e950f70
mov edi, eax
mov eax, dword [esp + 0x3c]
jmp 0x6e951bdb
movsx eax, word [edi + 1]
add edi, 3
jmp 0x6e951bdb
movzx eax, word [edi + 1]
add edi, 3
jmp 0x6e951bdb
mov edi, dword [esp + 0x24]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x2c], ebx
lea esi, [esi]
lea edi, [edi]
add edi, 1
movzx ebx, byte [edi - 1]
mov edx, ebx
and edx, 0x7f
shl edx, cl
add ecx, 7
or eax, edx
test bl, bl
js 0x6e951e80
mov ebx, dword [esp + 0x2c]
jmp 0x6e951bdb
mov edi, dword [ebx]
lea edx, [ebx + 8]
jmp 0x6e951ce0
lea edx, [esp + 0x3c]
mov eax, ebx
call fcn.6e950f70
mov edi, dword [esp + 0x3c]
mov edx, eax
jmp 0x6e951ce0
movsx edi, word [ebx]
lea edx, [ebx + 2]
jmp 0x6e951ce0
movzx edi, word [ebx]
lea edx, [ebx + 2]
jmp 0x6e951ce0
mov edx, ebx
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x24], ebx
add edx, 1
movzx ebx, byte [edx - 1]
mov eax, ebx
and eax, 0x7f
shl eax, cl
add ecx, 7
or edi, eax
test bl, bl
js 0x6e952000
mov ebx, dword [esp + 0x24]
jmp 0x6e951ce0
test al, al
jne case.0x6e951bb4.5
mov ebx, 0x10
jmp 0x6e951b19
mov ebx, 0xc
jmp 0x6e951b19
mov eax, edi
jmp 0x6e951dc5
add ebx, 3
and ebx, 0xfffffffc
lea edx, [ebx + 4]
mov eax, dword [ebx]
jmp 0x6e951d00
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x14], eax
jmp 0x6e951b9a
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x54]
mov dword [esp + 0x14], eax
jmp 0x6e951b9a
test al, al
je 0x6e9520cd
cmp al, 0x10
jne case.0x6e951bb4.5
mov dword [esp + 0x14], 0
jmp 0x6e951b9a
movzx edi, byte [eax]
lea ebx, [eax + 1]
lea ecx, [edi - 3]
mov edx, edi
cmp cl, 0xee
ja case.0x6e952127.1
movzx ecx, cl
jmp dword [ecx*4 + 0x6e9585c8]
mov edi, dword [eax + 1]
mov esi, ebp
add eax, 5
nop
lea esi, [esi]
cmp esi, 0x3f
ja case.0x6e952127.1
lea ebp, [esi + 1]
mov dword [esp + esi*4 + 0x30], edi
cmp eax, dword [esp + 0xc]
jb 0x6e952110
test ebp, ebp
je case.0x6e952127.1
mov eax, dword [esp + ebp*4 + 0x2c]
add esp, 0x13c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [eax + 1]
mov esi, ebp
add eax, 9
jmp 0x6e952140
sub edi, 0x50
cmp edi, 0x11
jg case.0x6e952127.1
mov esi, dword [esp + 0x10]
movzx edx, byte [edi + 0x6e95e024]
test byte [esi + 0x63], 0x40
mov eax, dword [esi + edi*4]
je 0x6e952197
cmp byte [esi + edi + 0x6c], 0
jne 0x6e95255d
cmp edx, 4
je 0x6e952552
call sub.msvcrt.dll_abort
mov eax, ebx
jmp 0x6e95214c
movsx edi, word [eax + 1]
mov esi, ebp
add eax, 3
jmp 0x6e952140
movzx edi, word [eax + 1]
mov esi, ebp
add eax, 3
jmp 0x6e952140
movsx edi, byte [eax + 1]
mov esi, ebp
add eax, 2
jmp 0x6e952140
movzx edi, byte [eax + 1]
mov esi, ebp
add eax, 2
jmp 0x6e952140
test ebp, ebp
je case.0x6e952127.1
lea esi, [ebp - 1]
cmp dl, 0x1f
mov edi, dword [esp + esi*4 + 0x30]
je 0x6e952647
jbe 0x6e9525e0
cmp dl, 0x23
je 0x6e9525a7
cmp dl, 0x94
je 0x6e952650
cmp dl, 0x20
jne case.0x6e952127.1
not edi
mov eax, ebx
jmp 0x6e952140
movzx ebx, byte [eax + 1]
cmp bl, 0xff
je case.0x6e952127.1
mov ecx, ebx
and ecx, 0x70
cmp cl, 0x20
mov byte [esp + 0x14], cl
je 0x6e95262e
jbe 0x6e952602
movzx edx, byte [esp + 0x14]
cmp dl, 0x40
je 0x6e952568
cmp dl, 0x50
je 0x6e95260f
cmp dl, 0x30
jne case.0x6e952127.1
mov esi, dword [esp + 0x10]
mov esi, dword [esi + 0x58]
mov dword [esp + 0x1c], esi
lea esi, [eax + 2]
cmp bl, 0x50
mov dword [esp + 0x18], esi
je 0x6e95261c
mov edx, ebx
and edx, 0xf
cmp dl, 0xc
ja case.0x6e952127.1
movzx edx, dl
jmp dword [edx*4 + 0x6e958984]
xor esi, esi
xor ecx, ecx
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e9522b4
cmp esi, 0x11
jg case.0x6e952127.1
mov ecx, dword [esp + 0x10]
movzx eax, byte [esi + 0x6e95e024]
test byte [ecx + 0x63], 0x40
mov edi, dword [ecx + esi*4]
je 0x6e9522ef
cmp byte [ecx + esi + 0x6c], 0
jne 0x6e9522fa
cmp eax, 4
jne case.0x6e952127.1
mov edi, dword [edi]
mov esi, ebp
mov eax, ebx
jmp 0x6e952140
lea edx, [esp + 0x28]
mov eax, ebx
sub edi, 0x70
call fcn.6e950f70
cmp edi, 0x11
jg case.0x6e952127.1
mov ebx, dword [esp + 0x10]
movzx ecx, byte [edi + 0x6e95e024]
test byte [ebx + 0x63], 0x40
mov edx, dword [ebx + edi*4]
je 0x6e952335
cmp byte [ebx + edi + 0x6c], 0
jne 0x6e952340
cmp ecx, 4
jne case.0x6e952127.1
mov edx, dword [edx]
mov edi, dword [esp + 0x28]
mov esi, ebp
add edi, edx
jmp 0x6e952140
cmp ebp, 1
jle case.0x6e952127.1
lea eax, [ebp - 2]
lea edx, [ebp - 1]
mov esi, dword [esp + eax*4 + 0x30]
mov ecx, dword [esp + edx*4 + 0x30]
mov dword [esp + edx*4 + 0x30], esi
mov dword [esp + eax*4 + 0x30], ecx
mov eax, ebx
jmp 0x6e95214c
movzx ecx, byte [eax + 1]
lea edx, [eax + 2]
lea eax, [ebp - 1]
cmp ecx, eax
mov dword [esp + 0x28], ecx
jge case.0x6e952127.1
sub eax, ecx
mov esi, ebp
mov edi, dword [esp + eax*4 + 0x30]
mov eax, edx
jmp 0x6e952140
movsx edx, word [eax + 1]
lea eax, [eax + edx + 3]
jmp 0x6e95214c
test ebp, ebp
je case.0x6e952127.1
sub ebp, 1
movsx edx, word [eax + 1]
add eax, 3
mov ecx, dword [esp + ebp*4 + 0x30]
test ecx, ecx
je 0x6e95214c
add eax, edx
jmp 0x6e95214c
cmp ebp, 1
jle case.0x6e952127.1
lea esi, [ebp - 2]
sub edx, 0x1a
mov ecx, dword [esp + ebp*4 + 0x2c]
cmp dl, 0x14
mov eax, dword [esp + esi*4 + 0x30]
ja case.0x6e952127.1
movzx edx, dl
jmp dword [edx*4 + 0x6e9589b8]
cmp ebp, 2
jle case.0x6e952127.1
lea ecx, [ebp - 1]
lea edx, [ebp - 2]
lea eax, [ebp - 3]
mov esi, dword [esp + ecx*4 + 0x30]
mov edi, dword [esp + eax*4 + 0x30]
mov dword [esp + 0x14], esi
mov esi, dword [esp + edx*4 + 0x30]
mov dword [esp + ecx*4 + 0x30], esi
mov esi, dword [esp + 0x14]
mov dword [esp + edx*4 + 0x30], edi
mov dword [esp + eax*4 + 0x30], esi
mov eax, ebx
jmp 0x6e95214c
sub edi, 0x30
mov esi, ebp
mov eax, ebx
jmp 0x6e952140
test ebp, ebp
je case.0x6e952127.1
mov edi, dword [esp + ebp*4 + 0x2c]
mov esi, ebp
mov eax, ebx
jmp 0x6e952140
lea edx, [esp + 0x2c]
mov eax, ebx
mov esi, ebp
call fcn.6e950f70
mov edi, dword [esp + 0x2c]
jmp 0x6e952140
mov eax, ebx
xor edi, edi
xor ecx, ecx
lea esi, [esi]
lea edi, [edi]
add eax, 1
movzx ebx, byte [eax - 1]
mov edx, ebx
and edx, 0x7f
shl edx, cl
add ecx, 7
or edi, edx
test bl, bl
js 0x6e9524a0
mov esi, ebp
jmp 0x6e952140
xor esi, esi
xor ecx, ecx
add ebx, 1
movzx edx, byte [ebx - 1]
mov eax, edx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test dl, dl
js 0x6e9524c4
lea edx, [esp + 0x28]
mov eax, ebx
call fcn.6e950f70
cmp esi, 0x11
jg case.0x6e952127.1
mov ebx, dword [esp + 0x10]
movzx edx, byte [esi + 0x6e95e024]
test byte [ebx + 0x63], 0x40
mov edi, dword [ebx + esi*4]
je 0x6e95250a
cmp byte [ebx + esi + 0x6c], 0
jne 0x6e952515
cmp edx, 4
jne case.0x6e952127.1
mov edi, dword [edi]
add edi, dword [esp + 0x28]
mov esi, ebp
jmp 0x6e952140
cmp ebp, 1
jle case.0x6e952127.1
mov edi, dword [esp + ebp*4 + 0x28]
mov esi, ebp
mov eax, ebx
jmp 0x6e952140
test ebp, ebp
je case.0x6e952127.1
sub ebp, 1
mov eax, ebx
jmp 0x6e95214c
mov edi, dword [eax]
mov esi, ebp
mov eax, ebx
jmp 0x6e952140
mov edi, eax
mov esi, ebp
mov eax, ebx
jmp 0x6e952140
mov esi, dword [esp + 0x10]
mov esi, dword [esi + 0x5c]
mov dword [esp + 0x1c], esi
jmp 0x6e952280
mov edi, dword [eax + 2]
add eax, 6
test edi, edi
mov esi, ebp
je 0x6e952140
cmp byte [esp + 0x14], 0x10
mov ecx, dword [esp + 0x1c]
cmove ecx, dword [esp + 0x18]
add edi, ecx
test bl, bl
jns 0x6e952140
mov edi, dword [edi]
jmp 0x6e952140
mov eax, ebx
xor ebp, ebp
xor ecx, ecx
lea esi, [esi]
add eax, 1
movzx ebx, byte [eax - 1]
mov edx, ebx
and edx, 0x7f
shl edx, cl
add ecx, 7
or ebp, edx
test bl, bl
js 0x6e9525b0
add edi, ebp
jmp 0x6e952140
mov edi, dword [eax + 2]
add eax, 0xa
jmp 0x6e95257e
cmp dl, 6
je 0x6e95263e
cmp dl, 0x19
jne case.0x6e952127.1
mov eax, edi
shr eax, 0x1f
mov edx, eax
neg edx
xor edi, edx
add edi, eax
mov eax, ebx
jmp 0x6e952140
test cl, cl
je 0x6e95260f
cmp cl, 0x10
jne case.0x6e952127.1
mov dword [esp + 0x1c], 0
jmp 0x6e952280
add eax, 5
mov esi, ebp
and eax, 0xfffffffc
mov edi, dword [eax]
add eax, 4
jmp 0x6e952140
mov esi, dword [esp + 0x10]
mov esi, dword [esi + 0x54]
mov dword [esp + 0x1c], esi
jmp 0x6e952280
mov edi, dword [edi]
mov eax, ebx
jmp 0x6e952140
neg edi
mov eax, ebx
jmp 0x6e952140
lea edx, [eax + 2]
movzx eax, byte [eax + 1]
cmp al, 2
je 0x6e9527c4
jbe 0x6e9527b2
cmp al, 4
je 0x6e952671
cmp al, 8
jne case.0x6e952127.1
mov edi, dword [edi]
mov eax, edx
jmp 0x6e952140
cmp eax, ecx
sete al
movzx eax, al
mov edi, eax
mov eax, ebx
jmp 0x6e952140
cmp eax, ecx
setge al
movzx eax, al
mov edi, eax
mov eax, ebx
jmp 0x6e952140
cmp eax, ecx
setg al
movzx eax, al
mov edi, eax
mov eax, ebx
jmp 0x6e952140
cmp eax, ecx
setle al
movzx eax, al
mov edi, eax
mov eax, ebx
jmp 0x6e952140
cmp eax, ecx
setl al
movzx eax, al
mov edi, eax
mov eax, ebx
jmp 0x6e952140
cmp eax, ecx
setne al
movzx eax, al
mov edi, eax
mov eax, ebx
jmp 0x6e952140
cdq
idiv ecx
mov edi, eax
mov eax, ebx
jmp 0x6e952140
sub eax, ecx
mov edi, eax
mov eax, ebx
jmp 0x6e952140
mov edi, ecx
and edi, eax
mov eax, ebx
jmp 0x6e952140
xor edx, edx
div ecx
mov eax, ebx
mov edi, edx
jmp 0x6e952140
mov edi, ecx
imul edi, eax
mov eax, ebx
jmp 0x6e952140
mov edi, ecx
or edi, eax
mov eax, ebx
jmp 0x6e952140
lea edi, [ecx + eax]
mov eax, ebx
jmp 0x6e952140
shl eax, cl
mov edi, eax
mov eax, ebx
jmp 0x6e952140
shr eax, cl
mov edi, eax
mov eax, ebx
jmp 0x6e952140
sar eax, cl
mov edi, eax
mov eax, ebx
jmp 0x6e952140
mov edi, ecx
xor edi, eax
mov eax, ebx
jmp 0x6e952140
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x2c]
call fcn.6e950f70
mov edi, dword [esp + 0x2c]
jmp 0x6e95257e
movsx edi, word [eax + 2]
add eax, 4
jmp 0x6e95257e
movzx edi, word [eax + 2]
add eax, 4
jmp 0x6e95257e
mov eax, dword [esp + 0x18]
xor edi, edi
xor ecx, ecx
mov esi, ebx
add eax, 1
movzx ebx, byte [eax - 1]
mov edx, ebx
and edx, 0x7f
shl edx, cl
add ecx, 7
or edi, edx
test bl, bl
js 0x6e952794
mov ebx, esi
jmp 0x6e95257e
cmp al, 1
jne case.0x6e952127.1
movzx edi, byte [edi]
mov eax, edx
jmp 0x6e952140
movzx edi, word [edi]
mov eax, edx
jmp 0x6e952140
cmp dword [ebx + 4], 5
ja case.0x6e949cdc.392
mov eax, dword [ebx + 4]
jmp dword [eax*4 + 0x6e958a0c]
call sub.msvcrt.dll_abort
mov eax, dword [esp + 0x18]
add eax, dword [ebx]
cmp byte [esi + 0x6e95e024], 4
ja 0x6e9528d0
mov edi, dword [esp + 0x14]
mov byte [edi], 1
mov edi, dword [esp + 0x10]
mov dword [edi + esi*4], eax
add esi, 1
add ebx, 8
add dword [esp + 0x14], 1
cmp esi, 0x12
jne 0x6e9528a0
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0xbb], 0
mov eax, dword [esp + 0x10]
jne 0x6e952aa2
and dword [eax + 0x60], 0x7fffffff
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx]
xor ebp, ebp
xor ecx, ecx
mov edi, ebx
nop
lea esi, [esi]
add eax, 1
movzx ebx, byte [eax - 1]
mov edx, ebx
and edx, 0x7f
shl edx, cl
add ecx, 7
or ebp, edx
test bl, bl
js 0x6e952940
mov ebx, edi
mov edi, dword [esp + 0x18]
lea edx, [eax + ebp]
lea ecx, [esp + 0x30]
mov dword [esp], edi
call fcn.6e9520e0
mov edi, dword [esp + 0x10]
test byte [edi + 0x63], 0x40
je 0x6e9528eb
mov edi, dword [esp + 0x14]
mov byte [edi], 0
jmp 0x6e9528eb
mov eax, dword [ebx]
xor ebp, ebp
xor ecx, ecx
mov edi, ebx
nop
lea esi, [esi]
add eax, 1
movzx ebx, byte [eax - 1]
mov edx, ebx
and edx, 0x7f
shl edx, cl
add ecx, 7
or ebp, edx
test bl, bl
js 0x6e9529a0
mov ebx, edi
mov edi, dword [esp + 0x18]
lea edx, [eax + ebp]
lea ecx, [esp + 0x30]
mov dword [esp], edi
call fcn.6e9520e0
cmp byte [esi + 0x6e95e024], 4
jbe 0x6e9528e4
jmp 0x6e9528d0
mov eax, dword [ebx]
cmp byte [esp + eax + 0x9c], 0
jne 0x6e952a20
mov edi, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x30]
test byte [edi + 0x63], 0x40
je 0x6e9528eb
jmp 0x6e95297a
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add eax, dword [ebx]
test byte [edi + 0x63], 0x40
je 0x6e9528eb
jmp 0x6e95297a
cmp eax, 0x11
jg 0x6e9528d0
test byte [esp + 0x93], 0x40
movzx edx, byte [eax + 0x6e95e024]
mov eax, dword [esp + eax*4 + 0x30]
jne 0x6e9529cc
cmp dl, 4
jne 0x6e9528d0
mov eax, dword [eax]
jmp 0x6e9529cc
or dword [eax + 0x60], 0x80000000
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret