Function at 0x100079a0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x84
push ebx
xor ebx, ebx
mov word [0x1002e40c], bx
mov dword [esp + 8], 0xff50
mov ecx, dword [esp + 8]
push esi
xor al, al
cmp cx, 0xff58
push edi
je 0x100079d9
mov eax, 0xff58
sub eax, ecx
movzx esi, ax
call fcn.1000d820
dec esi
jne 0x100079d1
movsx cx, al
mov word [0x1002e40c], cx
mov dword [esp + 0x10], 7
mov dword [0x1002e408], ebx
mov dword [0x1002e404], 0xfffffff8
mov edx, dword [0x1002e404]
mov ecx, dword [esp + 0x10]
sub ecx, edx
mov eax, 3
mov dword [0x1002e408], ecx
cmp dword [0x1002e408], eax
mov dword [0x1002e400], eax
jae 0x10007a25
call fcn.1000a270
push ebp
mov byte [0x1002e3fe], bl
mov ebp, 0x1994000
mov word [0x1002e3fc], bx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x60], ebp
mov eax, dword [esp + 0x60]
lea edx, [esp + 0x60]
mov dword [esp + 0x28], eax
mov dword [0x1002e3f8], edx
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x30]
add eax, 0x2a66
mov dword [0x1002e3f0], eax
mov dword [0x1002e3ec], ebx
mov eax, dword [0x1002e3ec]
neg al
movsx edi, al
xor cl, cl
mov dword [esp + 0x28], edx
mov dl, 2
mov dword [esp + 0x80], edi
add edi, 0xf
cmp cl, dl
mov esi, 0x51
mov dword [esp + 0x20], 0x7c
mov byte [esp + 0x14], dl
mov dword [0x1002e3f4], ebx
mov byte [esp + 0x13], bl
mov dword [esp + 0x5c], esi
mov byte [0x1002e3e9], al
mov dword [esp + 0x34], edi
mov byte [esp + 0x10], cl
je 0x10007b10
mov esi, dword [esp + 0x14]
sub dl, cl
movzx eax, dl
mov dword [esp + 0x1c], eax
add al, cl
mov byte [esp + 0x10], al
lea esp, [esp]
mov eax, dword [esp + 0x20]
movsx ecx, byte [0x1002e3fe]
push esi
push eax
mov al, byte [0x1002e3f0]
xor edx, edx
mov dl, byte [0x1002e3fc]
sub dl, al
or ecx, 0x2a66
push ecx
push edx
call fcn.1000ceb0
mov dword [esp + 0x30], eax
dec dword [esp + 0x1c]
jne 0x10007ad0
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
mov al, byte [0x1002e3e9]
mov ecx, dword [esp + 0x30]
mov word [0x1002e3fc], cx
movzx edx, byte [esp + 0x34]
movsx ecx, al
or edx, ecx
mov ecx, dword [0x1002e3f8]
mov ecx, dword [ecx]
imul edx, ecx
mov dword [0x1002e3ec], edx
mov ecx, dword [0x1002e3ec]
and esi, 1
cmp esi, ecx
jae 0x1000801b
mov dl, byte [esp + 0x10]
mov cl, 0xec
sub cl, al
mov al, byte [esp + 0x20]
or al, dl
mov byte [0x1002e3e8], al
and al, 3
movzx edx, al
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], ebx
mov eax, 0xd
sub eax, edx
mov dword [esp + 0x1c], ebx
mov dword [0x1002e3e4], 0xffffee00
mov dword [esp + 0x38], eax
movsx eax, cl
mov dword [esp + 0x84], eax
add eax, 4
mov dword [esp + 0x14], 4
mov ecx, dword [esp + 0x14]
movzx edx, word [esp + 0x38]
and eax, 0xc
xor edi, edi
or eax, ecx
cmp eax, edx
mov dword [esp + 0x64], edi
mov dword [0x1002e574], 0x10000
mov byte [0x1002e3e0], 0xc
mov dword [0x1002e3dc], 0x1002e3e0
mov dword [esp + 0x34], ebx
mov byte [0x1002e3d9], 0x20
jle 0x10007c79
mov byte [esp + 0x11], bl
mov dword [esp + 0x24], 0x70f33372
mov byte [esp + 0x10], bl
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
add al, 2
add cl, 6
mov byte [esp + 0x10], al
movsx eax, byte [esp + 0x10]
movsx edi, cl
cmp eax, edi
mov byte [0x1002e3d8], 4
mov dword [0x1002e3d4], 0x8f0ccc92
mov word [0x1002e3d0], 0xa
mov dword [0x1002e3cc], 1
je 0x10007c70
jmp 0x10007c30
mov eax, dword [0x1002e3cc]
mov edx, dword [0x1002e3d0]
push 0x7c
lea ecx, [eax + eax*2]
push ebx
shl ecx, 2
push ecx
and edx, 0x24
push edx
push 8
lea eax, [esp + 0x27]
push eax
call fcn.10009c20
mov byte [esp + 0x11], al
mov cl, byte [esp + 0x10]
inc cl
mov byte [esp + 0x10], cl
movsx edx, byte [esp + 0x10]
cmp edx, edi
jne 0x10007c30
mov ebp, dword [esp + 0x60]
movzx edi, byte [esp + 0x11]
mov dword [esp + 0x64], edi
mov cl, byte [0x1002e3d9]
mov dword [esp + 0x24], edi
mov al, byte [esp + 0x38]
add al, cl
mov ecx, dword [0x1002e3e4]
sub ebp, ecx
movsx edi, al
mov ecx, ebp
cmp edi, ecx
mov dword [esp + 0x34], edi
jle 0x10008007
mov eax, 5
mov dword [esp + 0x18], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebx
mov byte [esp + 0x11], 0x6c
mov dword [0x1002e3c8], 0xffffffbd
mov ecx, dword [esp + 0x30]
sub ecx, 4
mov dword [esp + 0x68], eax
mov dl, byte [esp + 0x38]
mov eax, dword [esp + 0x24]
and dl, al
mov eax, dword [esp + 0x68]
add al, cl
mov dword [0x1002e3c0], ecx
add al, byte [esp + 0x84]
lea ecx, [esp + 0x90]
mov dword [0x1002e3bc], ecx
xor cl, cl
movsx ecx, cl
mov dword [esp + 0x70], ecx
sub ecx, esi
and ecx, 0x24
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
sub ecx, 0x51
add al, dl
mov dword [esp + 0x18], ecx
mov ecx, dword [0x1002e3c8]
mov esi, dword [esp + 0x18]
or ecx, 5
add ecx, esi
mov byte [0x1002e3b8], al
movzx eax, al
mov dword [esp + 0x18], ecx
mov dword [esp + 0x50], eax
mov ecx, 0x1f
sub ecx, eax
add ecx, dword [esp + 0x18]
mov edx, 0x24
sub edx, edi
mov dword [esp + 0x90], edx
add dl, 4
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x18]
mov cl, byte [0x1002e3d9]
mov dword [esp + 0x28], eax
mov al, dl
mov byte [esp + 0x3f], dl
movsx edx, dl
and al, cl
imul edx, edi
movsx si, al
movzx esi, si
xor ebp, ebp
cmp esi, edx
mov dword [0x1002e3b4], 0x42
mov dword [0x1002e3c4], ebx
mov dword [0x1002e3b0], 0x1002e3b8
mov dword [0x1002e3ac], 0x20
mov byte [0x1002e3a8], al
jne 0x10007ffa
movsx eax, al
add eax, 3
mov dword [esp + 0x54], eax
add eax, 0xa
mov dword [esp + 0x48], eax
movzx edi, cl
mov byte [esp + 0x10], bl
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [0x1002e3a4], ebx
mov cl, byte [esp + 0x11]
lea edx, [esp + 0x88]
mov dword [0x1002e3a0], edx
mov dword [esp + 0x38], ebx
mov edx, dword [esp + 0x24]
lea eax, [edx + edi + 3]
and eax, 0x12
mov dword [0x1002e39c], eax
mov byte [esp + 0x18], cl
mov ecx, dword [0x1002e3c8]
sub al, cl
mov ecx, dword [0x1002e3a4]
movzx bp, al
mov byte [0x1002e398], al
and cl, byte [esp + 0x70]
movzx eax, byte [0x1002e3e0]
lea edx, [esp + 0x78]
mov dword [0x1002e394], edx
movzx edx, word [0x1002e3fc]
sub eax, edx
sub eax, 0x30
cdq
mov esi, edi
mov edi, dword [esp + 0x80]
mov dword [esp + 0x40], eax
or esi, 8
neg esi
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x1c]
mov eax, 0x20
sub eax, esi
add eax, edx
mov dword [0x1002e3a4], eax
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov esi, dword [0x1002e3a4]
and edi, 0xa
inc ebp
cmp eax, ebx
mov byte [esp + 0x10], bl
mov byte [esp + 0x12], 0x30
mov dword [esp + 0x88], 0xff00
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x14], ebx
mov dword [0x1002e390], 0xfffffffc
mov dword [esp + 0x78], 0xfff
ja 0x10007f73
jb 0x10007ead
cmp edx, esi
jae 0x10007f73
movzx esi, byte [esp + 0x3f]
imul esi, dword [esp + 0x50]
mov edx, 0x80004002
sub edx, esi
mov dword [esp + 0x18], ebx
mov byte [0x1002e38c], dl
mov al, byte [0x1002e38c]
mov dl, byte [0x1002e3fe]
add al, dl
imul byte [esp + 0x30]
movzx edx, byte [esp + 0x13]
mov byte [esp + 0x3f], al
sub edx, dword [esp + 0x84]
mov eax, 0x31
sub eax, edx
cdq
mov dword [esp + 0x44], edx
mov dl, byte [esp + 0x80]
and eax, 0x20
mov dword [0x1002e388], eax
shl dl, 2
mov byte [esp + 0x10], dl
movzx edx, byte [esp + 0x3f]
mov dword [0x1002e384], 0x204
mov eax, dword [0x1002e384]
mov esi, dword [esp + 0x68]
sub eax, 4
sub edx, esi
mov esi, dword [0x1002e388]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x18]
sub eax, esi
add eax, edx
mov dword [esp + 0x18], eax
movsx eax, byte [esp + 0x11]
mov edx, dword [0x1002e384]
imul eax, edx
mov edx, dword [esp + 0x18]
imul eax, edx
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x10]
mov edx, dword [esp + 0x18]
sub edx, eax
mov dword [esp + 0x18], edx
mov al, byte [esp + 0x18]
mov byte [0x1002e380], al
mov byte [esp + 0x10], al
mov al, byte [esp + 0x10]
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x64]
and eax, 0x2a66
mov dword [esp + 0x38], eax
xor edx, edx
mov dl, byte [esp + 0x38]
xor eax, eax
mov al, byte [esp + 0x10]
or edx, eax
mov eax, dword [esp + 0x48]
mov byte [esp + 0x10], dl
mov edx, dword [esp + 0x54]
cmp edx, eax
je 0x10007fe5
movsx ecx, cl
sub eax, edx
mov dword [esp + 0x48], ecx
mov esi, eax
mov ecx, dword [esp + 0x48]
push 0x10
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x28]
push eax
push ecx
xor eax, eax
mov al, byte [0x1002e39c]
push ebp
lea edx, [esp + 0x26]
push edx
push edi
lea ecx, [esp + 0x50]
push eax
push ecx
call fcn.1000db10
dec esi
movzx edx, ax
mov dword [esp + 0x14], edx
jne 0x10007fb1
mov ecx, dword [esp + 0x14]
xor eax, eax
mov al, byte [esp + 0x10]
sub eax, ecx
mov byte [esp + 0x10], al
movzx ebp, byte [esp + 0x10]
mov eax, dword [esp + 0x28]
add eax, ebp
movsx ecx, ax
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
and edx, eax
mov dword [esp + 0x24], edx
mov al, byte [esp + 0x24]
jmp 0x1000801f
mov al, byte [esp + 0x13]
xor ecx, ecx
mov cx, word [0x1002e3fc]
movzx edx, al
mov byte [esp + 0x11], 0x7c
mov dword [0x1002e37c], ebx
mov dword [esp + 0x14], 0x20
or ecx, edx
mov edx, dword [esp + 0x20]
mov word [0x1002e3fc], cx
mov al, byte [0x1002e3fc]
mov byte [0x1002e3fe], al
mov al, byte [0x1002e3fe]
sub al, 0x7c
movzx esi, al
lea eax, [esi + edx]
or eax, esi
mov dword [esp + 0x38], eax
mov dword [0x1002e370], ebx
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x38]
lea ecx, [esp + 0x11]
mov dword [0x1002e36c], ecx
xor ecx, ecx
sub eax, 0x61
sub edi, 0x61
add edi, 0xa
adc ecx, ebx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x38]
mov ebp, dword [0x1002e370]
sub edx, ecx
movzx ecx, byte [esp + 0x38]
sub ecx, esi
sub ecx, 0xa8
mov dword [0x1002e368], ecx
mov esi, ecx
xor ecx, ecx
neg ebp
cmp eax, edi
mov dword [esp + 0x28], edi
mov dword [0x1002e378], edx
mov dword [0x1002e364], edx
mov byte [0x1002e360], dl
mov dword [0x1002e358], eax
mov dword [0x1002e35c], ecx
jne 0x100080f0
cmp ecx, dword [esp + 0x2c]
je 0x10008149
jmp 0x100080f0
mov edx, dword [0x1002e378]
lea esp, [esp]
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
mov ecx, ebp
sub ecx, eax
movsx eax, byte [0x1002e360]
add ecx, eax
movzx eax, byte [esp + 0x15]
push ecx
push 0x50
lea ecx, [esp + 0x34]
push ecx
push eax
push edx
push ecx
call fcn.1000aa40
mov edx, dword [0x1002e35c]
mov ecx, dword [esp + 0x28]
mov dword [0x1002e370], eax
mov eax, dword [0x1002e358]
add eax, 1
adc edx, ebx
cmp eax, ecx
mov dword [0x1002e358], eax
mov dword [0x1002e35c], edx
jne 0x100080e3
cmp edx, dword [esp + 0x2c]
jne 0x100080e3
mov eax, dword [0x1002e370]
imul eax, esi
mov byte [0x1002e3fe], al
mov al, byte [0x1002e3fe]
mov dword [esp + 0x20], 8
mov ebp, 0x3fc
mov dword [0x1002e350], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x54], 0x7a
lea edi, [esp + 0x14]
mov dword [esp + 0x48], ebx
cmp word [esp + 0x20], bx
mov dword [0x1002e34c], ebx
mov byte [esp + 0x10], bl
mov dword [0x1002e348], edi
mov dword [esp + 0x1c], ebp
mov dword [0x1002e344], 0x406
mov dword [0x1002e340], ebx
mov byte [0x1002e33c], 0x1c
mov dword [0x1002e338], 0x1002e33c
mov dword [0x1002e334], 0xffffffe6
mov dword [esp + 0x34], 2
mov word [0x1002e330], bx
je 0x1000820e
xor eax, eax
lea esp, [esp]
push eax
call fcn.1000a050
movzx ecx, word [esp + 0x20]
mov byte [esp + 0x10], al
mov ax, word [0x1002e330]
inc ax
mov word [0x1002e330], ax
movzx eax, ax
cmp eax, ecx
jne 0x100081e0
mov edi, dword [0x1002e348]
mov ebp, dword [esp + 0x1c]
movzx eax, byte [esp + 0x10]
cmp eax, 0x4e
mov dword [0x1002e34c], eax
jne 0x10008227
mov dword [0x1002e4c8], 0x1000
cmp ebp, dword [0x1002e344]
mov dword [esp + 0x30], ebp
je 0x1000830b
mov cl, byte [esp + 0x10]
mov al, 1
sub al, cl
lea edx, [esp + 0x13]
mov byte [esp + 0x12], al
mov dword [0x1002e32c], edx
lea ecx, [ecx]
mov eax, dword [esp + 0x30]
mov cl, byte [esp + 0x10]
mov dl, al
add dl, cl
mov cl, byte [esp + 0x12]
mov dword [esp + 0x38], ebx
mov dword [0x1002e328], 0xa
mov esi, 0xc
sub esi, eax
mov al, byte [esp + 0x20]
add al, cl
mov byte [esp + 0x13], al
mov eax, dword [0x1002e328]
movsx ecx, byte [esp + 0x13]
sub eax, esi
sub eax, ecx
mov cl, byte [esp + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
mov dword [0x1002e324], eax
sub cl, byte [0x1002e34c]
add cl, byte [edi]
mov al, byte [0x1002e344]
imul cl
imul cl
imul cl
mov cl, byte [esp + 0x20]
sub dl, cl
add al, dl
movsx edx, byte [esp + 0x13]
mov ecx, 0x10
sub ecx, edx
movsx edx, byte [esp + 0x28]
imul ecx, edx
movsx edx, byte [0x1002e324]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
and edx, ecx
sub esi, edx
mov byte [0x1002e320], al
movsx eax, al
mov dword [esp + 0x38], esi
sub eax, dword [esp + 0x38]
mov dword [0x1002e350], eax
mov eax, dword [0x1002e344]
inc ecx
cmp ecx, eax
mov dword [esp + 0x30], ecx
jne 0x10008250
mov eax, dword [0x1002e350]
mov ecx, dword [0x1002e34c]
sub ecx, eax
mov eax, dword [0x1002e334]
mov esi, 0xffffffe4
cmp eax, esi
mov dword [0x1002e34c], ecx
je 0x1000837e
mov al, byte [esp + 0x30]
sub al, 0x20
mov byte [esp + 0x28], al
jmp 0x10008340
mov ebp, dword [esp + 0x1c]
lea esp, [esp]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x48]
add edx, eax
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x2c]
push ebx
or edx, esi
push edx
push ebp
and eax, 0xffe00000
push eax
push ecx
push 4
lea edx, [esp + 0x38]
push edx
call fcn.100012c0
mov dword [0x1002e340], eax
mov eax, dword [0x1002e334]
inc esi
cmp esi, eax
jne 0x10008338
mov eax, dword [0x1002e340]
sub dword [0x1002e34c], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x28], 0x80070057
mov dword [esp + 0x20], 0x1036
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], 0xfffffeff
mov edx, dword [esp + 0x24]
add edx, 0xff7
mov dword [esp + 0x1c], edx
movsx esi, word [esp + 0x38]
add esi, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov dword [0x1002e31c], 1
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x24]
add eax, ebp
neg eax
movsx ecx, ax
mov dword [0x1002e318], eax
mov eax, esi
sub eax, ecx
and eax, edx
mov byte [esp + 0x10], bl
mov byte [esp + 0x12], 0x40
movzx ecx, byte [esp + 0x12]
mov edx, 2
sub edx, ecx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x48]
push eax
add edx, 8
mov dword [esp + 0x38], edx
push eax
lea ecx, [esp + 0x30]
mov dword [0x1002e314], ecx
mov ecx, dword [esp + 0x2c]
and ecx, 0x125c
add ecx, 5
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
and ecx, 0x40
add eax, esi
mov dword [esp + 0x50], ecx
mov ecx, dword [0x1002e31c]
movzx edx, bl
shl eax, 2
mov edi, 0x1001
sub edi, edx
mov edx, dword [esp + 0x24]
and eax, 0xc
or ecx, edx
sub eax, ecx
push eax
xor eax, eax
mov dword [esp + 0x20], 0x1c
mov al, byte [esp + 0x20]
mov ecx, dword [esp + 0x28]
sub ecx, 0x1e
mov byte [0x1002e310], bl
mov dword [0x1002e308], 0x20
mov dword [0x1002e30c], ebx
mov dword [0x1002e300], 0x1002e308
push eax
push esi
push 2
push 0x1002e2fc
push ecx
mov dword [esp + 0x74], 0x3e
mov dword [0x1002e2fc], 2
mov dword [0x1002e2f8], 0x1002e318
mov dword [0x1002e2f4], ebx
mov dword [esp + 0x48], 8
call fcn.1000cd00
mov edx, dword [esp + 0x20]
mov dword [esp + 0x38], eax
add edx, 0x37
cmp edx, edi
jne 0x10008514
mov eax, dword [0x1002e308]
mov ecx, dword [esp + 0x14]
mov edi, dword [0x1002e2fc]
or ecx, eax
push ecx
lea edx, [esp + 0x24]
push edx
push 0x1002e308
push esi
add al, 8
push ebx
push 0x1f
lea ecx, [esp + 0x6c]
push eax
mov eax, 0x37
sub eax, edi
push eax
push ecx
push edx
call fcn.1000dbb0
mov dword [esp + 0x38], eax
mov cl, byte [esp + 0x38]
mov eax, dword [0x1002e2fc]
xor edx, edx
mov dl, cl
mov dword [0x1002e2f0], ebx
mov esi, 9
and edx, 2
sub eax, edx
mov dl, byte [esp + 0x50]
sub eax, 0x11
or cl, al
mov dword [0x1002e2f4], eax
mov al, byte [esp + 0x34]
sub al, 0x5c
mov byte [esp + 0x10], al
xor eax, eax
mov al, byte [esp + 0x48]
add al, dl
mov dl, 0xc
imul dl
xor edx, edx
mov dl, byte [esp + 0x10]
add eax, edx
mov byte [esp + 0x10], al
mov al, byte [esp + 0x10]
and al, 0xc7
mov byte [esp + 0x10], al
sub cl, byte [esp + 0x10]
lea eax, [esp + 0x18]
mov byte [0x1002e310], cl
mov dword [0x1002e2ec], 0xa
mov ecx, dword [0x1002e2ec]
xor edx, edx
mov dword [0x1002e2e8], eax
mov dword [esp + 0x28], ebx
mov ecx, dword [0x1002e2ec]
mov eax, dword [0x1002e2ec]
mov ecx, dword [0x1002e2ec]
lea eax, [eax + eax*2]
shl eax, 2
and eax, ecx
movzx ecx, al
mov eax, 9
sub eax, ecx
mov ecx, 0xfffffff4
sub ecx, edx
dec esi
lea edx, [eax + ecx - 0xc]
jne 0x10008590
mov dword [0x1002e2e4], ebx
mov ebp, dword [0x1002e2e4]
mov eax, dword [0x1002e2e4]
add eax, 3
xor edi, edi
cmp ebp, eax
mov dword [esp + 0x34], ebp
mov dword [esp + 0x28], eax
mov byte [0x1002e2e0], 0xc
mov dword [esp + 0x38], ebp
je 0x1000871e
cdq
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
nop
mov al, byte [esp + 0x38]
mov cl, al
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], 0x30a
mov byte [esp + 0x10], bl
mov edx, dword [esp + 0x1c]
sub cl, dl
mov edx, dword [esp + 0x1c]
sub al, dl
mov edx, dword [esp + 0x20]
add al, 5
movsx esi, al
movsx eax, cl
lea eax, [eax + esi - 0x18]
mov byte [esp + 0x12], cl
movzx ecx, al
sub edx, ecx
mov dword [0x1002e2dc], edx
mov eax, dword [0x1002e2e4]
mov ecx, dword [0x1002e2dc]
mov edx, dword [0x1002e2e4]
lea eax, [ecx + eax - 0x18]
movsx ecx, byte [esp + 0x10]
sub eax, esi
add eax, edi
sub eax, edx
mov edx, dword [0x1002e2e4]
add eax, ecx
sub eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
lea edi, [eax + eax*2]
push ebx
mov dword [esp + 0x44], 0xc
lea eax, [ebp - 0x40d]
mov dword [esp + 0x48], ebx
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
push eax
push edx
push ecx
mov dword [0x1002e2d8], ebx
mov dword [esp + 0x68], ebx
shl edi, 2
call fcn.1000f570
or eax, dword [esp + 0x48]
or edx, dword [esp + 0x4c]
mov cl, byte [esp + 0x12]
mov dword [esp + 0x58], edx
mov byte [esp + 0x10], cl
movsx edx, byte [esp + 0x10]
cmp edx, esi
je 0x100086ff
add edi, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push edi
lea eax, [esp + 0x38]
push eax
push ecx
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.1000d090
mov dword [esp + 0x20], eax
mov dl, byte [esp + 0x10]
inc dl
mov byte [esp + 0x10], dl
movsx eax, byte [esp + 0x10]
cmp eax, esi
jne 0x100086c5
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
inc eax
cmp eax, ecx
mov dword [0x1002e2d8], edi
mov dword [esp + 0x38], eax
jne 0x10008600
mov dword [0x1002e2e4], edi
mov ecx, dword [0x1002e2e4]
mov dword [0x1002e2e4], ecx
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x30]
add eax, 0x20
or eax, 0x58
sub cl, al
mov eax, dword [esp + 0x30]
movsx esi, cl
mov byte [0x1002e2d4], cl
mov ecx, 0x58
sub ecx, esi
sub ecx, edx
sub ecx, eax
lea eax, [ecx + 0x14]
movzx edx, al
mov eax, edx
sub eax, esi
or eax, 0x20
imul eax, eax, 0x58
sub eax, ecx
add eax, edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x40], 0x4000
mov dword [esp + 0x28], ebx
mov edi, dword [esp + 0x40]
mov dword [esp + 0x40], 0x40
mov dword [esp + 0x44], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x60], 1
mov dword [esp + 0x30], 0xff
movzx edx, byte [esp + 0x30]
mov ecx, dword [esp + 0x60]
sub ecx, edx
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
movsx ecx, cl
sub eax, ecx
movzx ecx, word [esp + 0x30]
lea ecx, [ecx + ecx*4]
mov dword [0x1002e2d0], ecx
mov dword [esp + 0x14], eax
sub eax, ecx
mov cl, byte [esp + 0x30]
mov edx, dword [esp + 0x60]
and cl, dl
sub cl, byte [esp + 0x14]
add cl, al
mov byte [0x1002e2cc], cl
mov dword [0x1002e2c8], 0x80070057
mov ecx, dword [0x1002e2c8]
mov dword [esp + 0x28], ecx
mov cl, byte [esp + 0x30]
mov edx, dword [esp + 0x60]
and cl, dl
mov dl, byte [0x1002e2cc]
or cl, 0x28
sub dl, cl
sub dl, 0x28
or al, dl
sub edi, 0x14
movzx ecx, al
sub ecx, edi
xor esi, esi
mov dword [0x1002e2c0], ecx
add ecx, 3
mov dword [0x1002e2c4], esi
mov word [0x1002e2b8], bx
mov dword [0x1002e2b4], ebx
mov dword [0x1002e2b0], 0x14
mov dword [0x1002e2ac], 0x1002e2b0
mov byte [esp + 0x12], bl
mov byte [0x1002e2a8], al
mov dword [0x1002e2a4], 0x1002e2a8
adc esi, ebx
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x28], ecx
movzx ecx, bl
or esi, edi
cmp ecx, esi
mov dword [0x1002e2a0], esi
jbe 0x100088a8
mov ecx, 0x18
sub ecx, esi
movzx ecx, cl
mov dword [0x1002e29c], 4
mov dword [0x1002e2b4], ecx
mov ecx, dword [0x1002e2b4]
mov dword [esp + 0x18], ecx
mov edi, dword [esp + 0x18]
sub edi, 0x14
lea ecx, [esi - 0x2c]
or ecx, edi
mov edi, dword [esp + 0x18]
add edi, ecx
mov dword [esp + 0x18], edi
mov ebp, dword [0x1002e2c0]
cmp ebp, dword [esp + 0x70]
mov ecx, dword [0x1002e2c4]
mov dword [esp + 0x7c], ecx
jne 0x100088e8
cmp ecx, dword [esp + 0x74]
je 0x10008a03
movsx edx, dl
or ecx, 0xffffffff
movsx eax, al
sub ecx, esi
mov dword [0x1002e298], 0x1002e294
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x48], edx
mov dword [0x1002e290], 0x3c
mov dword [esp + 0x88], 1
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x50], eax
jmp 0x10008930
mov ecx, dword [esp + 0x28]
nop
movzx eax, word [esp + 0x30]
add eax, dword [esp + 0x60]
and al, 4
mov byte [0x1002e294], al
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
movsx edx, byte [0x1002e2cc]
add eax, esi
sub edx, eax
mov dword [0x1002e28c], 0x10000
mov edi, dword [esp + 0x60]
mov eax, dword [0x1002e28c]
sub edi, eax
mov eax, dword [esp + 0x48]
add eax, edi
mov byte [esp + 0x12], al
mov al, byte [esp + 0x12]
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x54]
xor eax, eax
mov byte [0x1002e288], 1
mov al, byte [0x1002e288]
mov dword [0x1002e284], edi
mov dword [esp + 0x54], 0xffffffff
and eax, 3
mov edi, eax
movsx eax, byte [esp + 0x88]
mov dword [esp + 0x54], eax
mov eax, ecx
mov ecx, dword [esp + 0x54]
sub eax, ecx
mov ecx, dword [0x1002e2b4]
imul ecx, dword [esp + 0x50]
add edi, 0xfffffffc
or edi, eax
movsx ax, byte [0x1002e294]
sub edi, ecx
add edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add eax, edi
add eax, edx
mov edx, dword [esp + 0x7c]
add eax, ecx
mov ecx, dword [esp + 0x70]
add ebp, 1
adc edx, ebx
cmp ebp, ecx
movsx eax, ax
mov dword [esp + 0x7c], edx
jne 0x1000892b
cmp edx, dword [esp + 0x74]
jne 0x1000892b
jmp 0x10008a07
mov al, byte [esp + 0x12]
mov ecx, dword [esp + 0x18]
movsx eax, al
sub ecx, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x20]
neg eax
mov dword [esp + 0x28], 0x7a
mov ecx, 4
sub ecx, eax
neg ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x14], 0x8007000e
mov byte [esp + 0x10], 0xe
mov edi, ecx
mov dword [esp + 0x30], ebx
movsx edx, byte [esp + 0x10]
mov ecx, eax
sub ecx, edx
mov dword [0x1002e280], ecx
movsx edx, byte [esp + 0x10]
mov ecx, dword [0x1002e280]
mov dword [0x1002e27c], eax
sub eax, edx
add eax, 5
mov dword [esp + 0x30], ecx
cmp dword [esp + 0x30], eax
mov byte [0x1002e279], bl
mov byte [0x1002e278], 4
mov dword [esp + 0x50], ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], ebx
je 0x10008c08
mov dword [esp + 0x54], 0x18
mov ebp, 0x80070057
mov edi, edi
movsx ecx, byte [0x1002e278]
mov dword [0x1002e274], ebx
mov dword [esp + 0x1c], ebx
mov eax, dword [0x1002e274]
mov edx, dword [esp + 0x1c]
or eax, edx
cdq
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
lea eax, [ecx + 1]
or eax, 0x7d0
mov dword [esp + 0x28], ebp
mov dword [esp + 0x34], 0x7d1
mov dword [esp + 0x5c], ebx
mov edx, dword [esp + 0x20]
sub edx, eax
movsx eax, byte [esp + 0x10]
add eax, edi
mov dword [esp + 0x48], eax
movsx eax, byte [esp + 0x10]
add eax, 0x19
mov dword [esp + 0x28], edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
sub eax, 0x7a
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push eax
push 0x7d0
add ecx, 0x6e
push ecx
mov ecx, dword [esp + 0x20]
push ecx
mov dword [0x1002e270], ebx
call fcn.10009f10
movzx edx, byte [0x1002e279]
mov dword [0x1002e274], eax
mov eax, 0xc
sub eax, edx
cdq
mov esi, eax
movzx eax, byte [esp + 0x48]
mov ecx, edx
movsx edx, byte [esp + 0x28]
sub eax, edx
movsx edx, byte [esp + 0x54]
and eax, edx
cdq
cmp edx, ecx
jb 0x10008bd5
ja 0x10008b69
cmp eax, esi
jbe 0x10008bd5
lea eax, [esp + 0x28]
mov dword [0x1002e26c], eax
mov byte [esp + 0x12], bl
mov dword [0x1002e268], ebx
mov al, byte [0x1002e268]
imul byte [esp + 0x20]
mov cl, byte [esp + 0x12]
sub al, cl
mov ecx, dword [0x1002e27c]
add al, 4
movsx edx, al
sub edx, 0x7fffbffb
mov dword [0x1002e264], edx
mov eax, dword [0x1002e264]
lea ecx, [ecx + eax - 3]
movsx eax, byte [esp + 0x10]
movsx ecx, cl
sub eax, ecx
lea edx, [esp + 0x28]
sub eax, 0x1f
mov dword [0x1002e260], edx
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
or eax, edx
and cl, al
movzx eax, cl
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [0x1002e274]
sub ecx, eax
mov dword [0x1002e274], ecx
mov edx, dword [0x1002e274]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp dword [esp + 0x30], ecx
jne 0x10008aa0
mov dl, byte [esp + 0x34]
mov dword [0x1002e258], 0x1e
mov dword [0x1002e25c], ebx
lea eax, [esp + 0x28]
mov dword [0x1002e250], eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x28], 8
mov eax, dword [esp + 0x28]
and eax, 4
and al, 4
mov byte [esp + 0x12], al
movzx ax, byte [esp + 0x12]
movsx edx, word [esp + 0x48]
lea ecx, [esp + 0x28]
mov dword [0x1002e24c], ecx
mov byte [esp + 0x11], 8
add eax, 0x36
movzx eax, al
add edx, eax
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
and ecx, 0xffffffcf
mov dword [0x1002e248], ecx
mov dx, word [0x1002e248]
mov eax, dword [0x1002e258]
mov ecx, dword [0x1002e25c]
mov edx, dword [0x1002e25c]
mov eax, dword [0x1002e258]
mov ecx, dword [0x1002e25c]
mov edx, dword [0x1002e258]
sub eax, edx
mov dword [esp + 0x28], eax
mov eax, dword [0x1002e258]
mov ecx, dword [0x1002e25c]
mov edx, dword [esp + 0x28]
mov cl, byte [esp + 0x11]
lea eax, [esp + 0x11]
mov dword [0x1002e244], eax
mov byte [esp + 0x13], bl
movsx eax, byte [esp + 0x13]
add eax, 6
mov dword [0x1002e240], eax
mov byte [esp + 0x12], 0xff
movsx ecx, byte [esp + 0x12]
neg ecx
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x13]
mov dword [0x1002e23c], edx
adc eax, 0x1002e23c
mov edx, dword [esp + 0x14]
sub eax, edx
mov dword [esp + 0x28], eax
movsx eax, byte [esp + 0x13]
sub eax, dword [esp + 0x28]
sub eax, 0x406
cdq
neg eax
adc edx, ebx
neg edx
lea ecx, [esp + 0x14]
mov dword [0x1002e238], eax
mov dword [0x1002e234], 0x1002e248
mov dword [0x1002f818], 0x1001c4b8
mov dword [esp + 0x44], edx
mov dword [esp + 0x14], 0xffdff124
mov dword [0x1002e230], ecx
xor eax, eax
jmp 0x10008d40
mov edx, dword [eax*8 + 0x1001c4b8]
mov esi, eax
and esi, 0x1f
mov ecx, 0x20
sub ecx, esi
mov edi, edx
shl edi, cl
mov ecx, esi
shr edx, cl
or edi, edx
xor edi, eax
mov dword [eax*4 + 0x1002e818], edi
inc eax
cmp eax, 0x18d
jl 0x10008d40
mov byte [0x1002e22c], 1
mov dl, byte [0x1002e22c]
mov dword [0x1002e228], ebx
mov eax, dword [0x1002e228]
mov dword [esp + 0x28], eax
mov eax, dword [0x1002e228]
mov cl, byte [esp + 0x14]
mov byte [esp + 0x18], cl
mov dword [0x1002e224], 0x18
movzx edx, byte [0x1002e224]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
sub ecx, 2
mov dword [0x1002e220], ecx
mov cl, byte [0x1002e220]
shl cl, 4
neg eax
and eax, 0x10
movzx ecx, cl
or ecx, eax
neg ecx
movzx eax, cl
cdq
cmp edx, ebx
mov byte [0x1002e21c], 2
mov dword [esp + 0x5c], 0x10
mov dword [0x1002e218], 0x1002e220
mov dword [esp + 0x50], ecx
mov dword [esp + 0x78], 0xffffffff
mov dword [esp + 0x7c], ebx
ja 0x10008e08
cmp eax, 0xffffffff
jb 0x10008fda
mov dword [0x1002e214], 0x40000000
mov edi, dword [0x1002e214]
mov esi, dword [0x1002e214]
mov eax, dword [0x1002e228]
sub al, 2
movzx eax, al
xor ecx, ecx
mov edx, 0x10
sub edx, eax
mov word [0x1002e210], dx
mov cl, byte [0x1002e210]
or eax, 0x4e
mov edx, 2
mov dword [esp + 0x54], 0x60
mov dword [esp + 0x34], 4
add esi, 0x12
add edi, 0x10
and eax, ecx
sub edx, eax
mov byte [esp + 0x12], dl
mov dword [esp + 0x20], ebx
mov dword [esp + 0x64], 0x113
mov ecx, dword [esp + 0x54]
sub ecx, 0xa
lea eax, [esp + 0x48]
mov dword [0x1002e20c], eax
mov dword [esp + 0x54], ecx
mov dl, byte [esp + 0x54]
movzx eax, word [esp + 0x64]
sub eax, ebx
mov dword [esp + 0x70], eax
sub al, 8
mov dword [0x1002e208], 0x3ffffc
mov ecx, dword [esp + 0x20]
add al, cl
mov byte [esp + 0x3f], al
mov dword [esp + 0x54], 0x3e8
movzx eax, word [esp + 0x34]
cmp eax, 0xffffffff
lea ebp, [esp + 0x28]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], 0xc
mov dword [0x1002e204], ebp
mov dword [esp + 0x68], 0x4e
mov dword [esp + 0x48], 1
mov byte [0x1002e200], 0xc
mov byte [esp + 0x18], dl
mov dword [esp + 0x58], ebx
mov dword [0x1002e1fc], eax
jae 0x10008f3c
movzx eax, word [esp + 0x34]
lea edx, [esp + 0x5c]
push edx
push 0xfd
push 0x10
sub eax, 2
push eax
push ebx
push 4
push 0x1002e1fc
push 2
push ebx
push 4
lea ecx, [esp + 0x68]
push ecx
call fcn.1000d410
mov ebp, dword [0x1002e204]
mov esi, dword [esp + 0x1c]
cdq
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
cmp edi, esi
je 0x10008f85
jmp 0x10008f48
mov ebp, dword [0x1002e204]
movzx edx, byte [esp + 0x12]
push 6
push edx
lea eax, [esp + 0x64]
push eax
movzx eax, byte [ebp]
push ebx
push 0x1002e228
lea ecx, [esp + 0x30]
push ecx
movzx ecx, byte [ebp]
lea edx, [esp + 0x90]
push edx
shl eax, 1
push eax
push ecx
call fcn.1000e740
mov eax, dword [esp + 0x40]
add esp, 0x24
inc edi
cmp edi, eax
jne 0x10008f42
movzx edx, byte [0x1002e22c]
and edx, dword [esp + 0x50]
mov dword [esp + 0x20], edx
cmp byte [esp + 0x20], 7
jne 0x10008fda
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x68]
push eax
push 0xffffff0a
mov edx, 0x2710
sub edx, ecx
movsx ecx, byte [esp + 0x47]
push edx
mov edx, dword [esp + 0x7c]
lea eax, [esp + 0x70]
push eax
mov eax, dword [0x1002e20c]
push ecx
movzx cx, byte [eax]
push edx
push 0x1c
lea edx, [esp + 0x84]
push ecx
push edx
call fcn.10009ce0
lea eax, [esp + 0x20]
mov dword [0x1002e1f8], eax
mov byte [esp + 0x11], 4
mov al, byte [esp + 0x11]
xor edx, edx
cmp al, bl
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], ebx
mov dword [0x1002e1f0], ebx
mov dword [0x1002e1f4], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], 4
mov byte [esp + 0x13], bl
je 0x10009146
mov edi, edi
mov ecx, dword [0x1002e1f8]
xor eax, eax
mov dword [0x1002e1ec], ebx
mov ax, word [ecx]
mov ecx, dword [0x1002e1ec]
neg ax
mov di, ax
and ecx, 0xf
mov dword [esp + 0x14], 0xc
mov dword [0x1002e1e8], ecx
movzx esi, dl
add eax, 9
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x14]
mov ebp, dword [0x1002e1ec]
imul cl
neg al
imul esi, ebp
mov cl, al
dec cl
mov byte [esp + 0x48], cl
movsx ecx, di
imul ecx, dword [esp + 0x20]
movzx ecx, cl
imul esi, ecx
imul esi, dword [esp + 0x20]
mov dword [esp + 0x28], esi
mov ecx, dword [esp + 0x28]
sub cl, 0xc
lea esi, [esp + 0x12]
mov dword [0x1002e1e4], esi
movsx esi, cl
movsx eax, al
sub esi, eax
cmp di, word [esp + 0x1c]
mov word [0x1002e1e0], di
mov ebp, dword [0x1002e1e0]
mov dword [esp + 0x34], ebx
mov dword [0x1002e1dc], ebx
mov dword [0x1002e1d8], 0x1002e1dc
mov dword [esp + 0x44], ebx
mov byte [esp + 0x12], cl
je 0x1000911c
mov edi, dword [esp + 0x48]
jmp 0x100090e0
mov edx, dword [esp + 0x38]
jmp 0x100090e0
mov ecx, dword [esp + 0x14]
mov eax, dword [0x1002e1f8]
or ecx, esi
imul ecx, ecx, 0xffffffa8
push ecx
xor ecx, ecx
mov cl, byte [eax]
push 0xffffffffffffffff
push edi
push ecx
push edx
mov edx, dword [0x1002e1d8]
mov eax, dword [edx]
push eax
push 0x1002e1ec
lea ecx, [esp + 0x38]
push ecx
call fcn.10009b00
inc ebp
cmp bp, word [esp + 0x1c]
mov dword [esp + 0x34], eax
jne 0x100090d7
mov edx, dword [esp + 0x34]
mov al, byte [esp + 0x13]
mov dword [0x1002e1ec], edx
mov edx, dword [0x1002e1ec]
mov cl, byte [esp + 0x11]
inc al
cmp al, cl
mov dword [esp + 0x38], edx
mov byte [esp + 0x13], al
jne 0x10009020
mov al, byte [esp + 0x13]
mov ecx, dword [esp + 0x20]
neg al
movzx eax, al
add ecx, 8
cmp eax, ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x68], ecx
jae 0x100091a6
movsx edx, byte [esp + 0x64]
lea eax, [esp + 0x64]
push eax
mov eax, 0x10
sub eax, edx
lea ecx, [esp + 0x60]
push ecx
push 0x1002e1f0
xor edx, edx
mov dl, byte [0x1002e1f0]
push eax
lea ecx, [esp + 0x78]
push ecx
lea eax, [esp + 0x4c]
push edx
push eax
push 0x1002e1f0
call fcn.10006d30
mov dword [0x1002e1f0], eax
mov dword [0x1002e1f4], ebx
mov dword [esp + 0x28], 0xfffffb58
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x20], ebx
lea eax, [esp + 0x28]
mov dword [0x1002e1d4], eax
mov dword [esp + 0x34], 1
mov cx, word [esp + 0x20]
movzx eax, word [esp + 0x20]
sub eax, 3
mov dword [esp + 0x14], 2
inc esp
and al, 0x14
add al, byte [eax]
add byte [eax], al
mov ecx, dword [esp + 0x14]
imul eax, ecx
lea ecx, [eax - 4]
lea edx, [esp + 0x34]
mov dword [0x1002e1d0], edx
lea edx, [esp + 0x14]
mov dword [0x1002e1cc], edx
movsx edx, cl
sub edx, eax
add edx, 2
mov dword [esp + 0x14], edx
lea eax, [esp + 0x14]
mov dword [0x1002e1c8], eax
movzx eax, byte [esp + 0x14]
sub eax, 2
mov edx, 4
sub edx, eax
mov dword [esp + 0x28], edx
movsx eax, word [esp + 0x34]
mov edx, dword [esp + 0x28]
sub eax, 2
or eax, 2
sub eax, edx
movzx esi, al
mov byte [esp + 0x11], 3
movzx eax, byte [esp + 0x11]
and eax, esi
cdq
mov dword [0x1002e1c0], eax
mov dword [0x1002e1c4], edx
movzx eax, byte [esp + 0x11]
and eax, esi
mov esi, dword [0x1002e1c0]
mov ebp, dword [0x1002e1c4]
cdq
add eax, 3
mov edi, edx
adc edi, ebx
cmp esi, eax
mov byte [0x1002e1b8], 4
mov dword [0x1002e1b4], 0x1002e1b8
mov dword [0x1002e1b0], ebx
mov byte [0x1002e1ac], 2
jne 0x1000928f
cmp ebp, edi
je 0x100092d2
lea edx, [esp + 0x18]
mov dword [0x1002e1a8], edx
add ecx, 0xfffffffe
lea esp, [esp]
mov dword [esp + 0x14], ebx
mov byte [esp + 0x10], bl
mov byte [esp + 0x10], cl
mov dl, byte [esp + 0x10]
mov byte [esp + 0x10], dl
movzx edx, byte [esp + 0x10]
add esi, 1
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x14]
adc ebp, ebx
cmp esi, eax
mov dword [esp + 0x20], edx
jne 0x100092a0
cmp ebp, edi
jne 0x100092a0
mov ax, word [esp + 0x20]
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x1c]
add ecx, 0x10c
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x12], 0xff
mov al, byte [esp + 0x12]
add al, 8
cmp al, 7
invalid
invalid
movsb byte es:[edi], byte [esi]
invalid