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

Disassembly:
mov eax, 0x3eac
call fcn.100cde60
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0x10], edx
push edi
push 0x80
push 0
mov eax, dword [esi + 0x84]
lea ebx, [esi + 4]
mov ebp, dword [esi + 0x30]
mov edi, dword [esi]
mov dword [esp + 0x50], eax
mov eax, dword [eax + 0x2e0]
mov dword [esp + 0x40], esi
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebp
mov eax, dword [eax + 0x218]
shl eax, 0x10
mov dword [esp + 0x54], eax
lea eax, [esp + 0x118]
push eax
mov dword [esp + 0x6c], 0x1312d00
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [esp + 0xe0], edi
add esp, 0xc
mov dword [esp + 0x50], eax
mov dword [esp + 0xf0], eax
xorps xmm0, xmm0
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], eax
push 0x2e08
push eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
lea eax, [esp + 0x198]
push eax
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], 0x10
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0xa
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], 0x14
mov dword [esp + 0xb0], 0xa
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], 0x14
mov dword [esp + 0x90], 0xa
movlpd qword [esp + 0x104], xmm0
movlpd qword [esp + 0x10c], xmm0
movlpd qword [esp + 0x114], xmm0
mov dword [esp + 0x100], ebx
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x3ecc]
add esp, 0xc
movaps xmm0, xmmword [0x101a4ed0]
mov dword [esp + 0x68], eax
mov dword [esp + 0x194], eax
lea eax, [esp + 0x1fd0]
push 0xf1c
push 0
push eax
mov dword [esp + 0x19c], esi
mov dword [esp + 0x2ef8], edi
mov dword [esp + 0x2efc], ebx
movups xmmword [esp + 0x2f00], xmm0
mov dword [esp + 0x2f10], 0
mov dword [esp + 0x2f14], 0
call sub.VCRUNTIME140.dll_memset
mov bl, byte [esi + 0x8c]
add esp, 0xc
lea eax, [esp + 0x1fd0]
mov byte [esp + 0x1fdd], bl
mov dword [esp + 0x1fd4], eax
lea eax, [esp + 0x2eec]
push 0xf1c
mov dword [esp + 0x1fdc], eax
lea eax, [esp + 0x10b8]
push 0
push eax
mov dword [esp + 0x1fec], ebp
mov dword [esp + 0x1fdc], esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov byte [esp + 0x10c1], bl
lea eax, [esp + 0x1fd0]
mov dword [esp + 0x10c4], ebp
mov dword [esp + 0x10b8], eax
lea eax, [esp + 0x2eec]
mov dword [esp + 0x10bc], eax
lea eax, [esp + 0x198]
push 0xf1c
push 0
push eax
mov dword [esp + 0x10c0], esi
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x3ed0]
lea eax, [esp + 0x1fdc]
mov dword [esp + 0x1a8], eax
add esp, 0xc
lea eax, [esp + 0x2eec]
mov dword [esp + 0x1a8], ebp
mov dword [esp + 0x1a0], eax
mov eax, dword [esi + 0x24]
mov dword [esp + 0x2f0c], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x2f10], eax
mov eax, dword [ecx]
mov dword [esp + 0x2f18], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x2f1c], eax
lea eax, [esp + 0x94]
mov dword [esp + 0x2f24], eax
lea eax, [esp + 0x74]
mov dword [esp + 0x2f28], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0x2f2c], eax
lea eax, [esi + 0xc4]
mov dword [esp + 0x2f34], eax
mov al, byte [esi + 0x8d]
mov byte [esp + 0x2f22], al
mov dword [esp + 0x2f14], ebp
mov ebp, dword [esi + 0xb8]
mov dword [esp + 0x198], esi
mov esi, dword [esi + 0xbc]
mov eax, esi
cdq
mov ecx, eax
mov byte [esp + 0x1a5], bl
mov ebx, dword [esp + 0x3ed0]
xor ecx, edx
sub ecx, edx
mov dword [esp + 0x20], ebx
mov eax, ebp
mov dword [esp + 0x2f30], ebx
cdq
xor eax, edx
mov dword [esp + 0x2f38], ebp
sub eax, edx
mov dword [esp + 0x2f3c], esi
cmp eax, ecx
jle 0x100e98ac
mov eax, ebp
cdq
mov esi, eax
xor esi, edx
sub esi, edx
jmp 0x100e98b2
test esi, esi
jns 0x100e98b2
neg esi
mov ecx, dword [esp + 0x48]
lea eax, [esi + esi]
mov dword [esp + 0x2f40], eax
mov dword [esp + 0x2f44], 0x199a
mov byte [esp + 0x2f23], 1
mov word [esp + 0x2f20], 0
mov byte [esp + 0x2f70], 0
mov eax, dword [ecx + 0x2e0]
mov ecx, dword [esp + 0x3ed4]
push 0x18c
push edi
mov eax, dword [eax + 0x214]
shl eax, 0x10
mov dword [ecx], eax
mov eax, dword [edi + 4]
mov byte [esp + 0x23], 0
call eax
mov esi, eax
add esp, 8
mov dword [esp + 0x5c], esi
test esi, esi
jne 0x100e9922
lea eax, [esi + 0x40]
jmp 0x100eb240
push 0x180
lea eax, [esi + 8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ebp, dword [esp + 0x60]
lea eax, [esi + 8]
mov dword [esi], edi
lea ecx, [esp + 0xe0]
add esp, 0xc
mov dword [esi + 4], ebp
mov edi, 0x11
mov dword [esi + 0x188], eax
mov edx, edi
call fcn.100eefe0
mov ecx, dword [esp + 0xe8]
test al, al
mov eax, dword [esp + 0x14]
cmovne ecx, edi
mov dword [esp + 0x44], 0
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0xf0]
mov edi, ecx
movups xmm0, xmmword [eax]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x10], edi
movups xmmword [ecx], xmm0
cmp dword [ebp], 0
jne 0x100eb23e
mov eax, dword [esp + 0xdc]
mov ebp, dword [esp + 0x3ecc]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x24], ebp
jmp 0x100e99ca
mov eax, dword [ecx]
mov dword [eax + 4], 2
add dword [ecx], 8
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
cmp edx, ecx
jb 0x100e99e8
cmp dword [esp + 0x44], 0
mov eax, 0xb
mov edi, 0xe
cmove eax, edi
jmp 0x100e99ee
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
mov edi, dword [esp + 0x54]
mov dword [esp + 0x34], eax
cmp dword [edi], 0
jne 0x100eb23e
sub dword [esp + 0x60], 1
je 0x100eb149
movzx edi, al
cmp edi, 0x1f
ja case.default.0x100e9a1d
movzx eax, byte [edi + 0x100eb3a4]
jmp dword [eax*4 + 0x100eb358]
cmp byte [esp + 0xf8], 0
jne case.0x100e9a1d.0
lea eax, [esp + 0x1b]
push ecx
push eax
lea eax, [esp + 0x9c]
push dword [esp + 0x3edc]
mov edi, dword [esp + 0x44]
mov edx, esi
push eax
mov ecx, edi
call fcn.100eb670
mov eax, dword [edi + 0x84]
add esp, 0x10
cmp byte [eax + 0x231], 0
jne 0x100eb23e
mov edi, dword [esp + 0x10]
lea eax, [esi + 8]
mov dword [esi + 0x188], eax
jmp 0x100e99ca
cmp byte [esp + 0xf8], 0
jne case.0x100e9a1d.0
lea eax, [esp + 0x1b]
push ecx
push eax
lea eax, [esp + 0x7c]
jmp 0x100e9a3f
mov eax, dword [esi + 0x188]
sub eax, esi
sub eax, 8
sar eax, 3
cmp eax, 1
jbe 0x100e9ac6
cmp byte [esp + 0x1b], 0
jne 0x100e9ac6
xor edx, edx
mov ecx, esi
call fcn.100e9300
mov ecx, dword [esp + 0x3ed4]
add eax, dword [esp + 0x4c]
mov dword [ecx], eax
mov eax, dword [esp + 0x38]
mov byte [esp + 0x1b], 1
mov eax, dword [eax + 0x84]
cmp byte [eax + 0x231], 0
jne 0x100eb23e
mov ecx, esi
call fcn.100e9360
add ebx, eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3ed0], ebx
jmp 0x100ea8ff
mov eax, dword [esi + 0x188]
xor edi, edi
sub eax, esi
sub eax, 8
sar eax, 3
mov dword [esp + 0x14], eax
test eax, eax
je 0x100e9b5b
mov edx, edi
mov ecx, esi
call fcn.100e9300
add ebp, eax
lea edx, [edi + 1]
mov ecx, esi
mov dword [esp + 0x3ecc], ebp
call fcn.100e9300
add ebx, eax
lea ecx, [esp + 0x190]
push ebx
mov edx, ebp
mov dword [esp + 0x3ed4], ebx
call fcn.100ebc70
add edi, 2
add esp, 4
cmp edi, dword [esp + 0x14]
jb 0x100e9b13
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebp
lea eax, [esi + 8]
mov dword [esi + 0x188], eax
jmp 0x100e99c6
mov eax, dword [esi + 0x188]
sub eax, esi
sub eax, 8
sar eax, 3
cmp byte [esp + 0x34], 6
mov dword [esp + 0x14], eax
sete byte [esp + 0x2b]
xor edi, edi
test eax, eax
je 0x100e9b5b
nop dword [eax + eax]
mov edx, edi
mov ecx, esi
call fcn.100e9300
mov ecx, eax
mov al, byte [esp + 0x2b]
test al, al
je 0x100e9bae
add ebp, ecx
mov dword [esp + 0x3ecc], ebp
jmp 0x100e9bb7
add ebx, ecx
mov dword [esp + 0x3ed0], ebx
xor al, 1
lea ecx, [esp + 0x190]
push ebx
mov edx, ebp
mov byte [esp + 0x2f], al
call fcn.100ebc70
inc edi
add esp, 4
cmp edi, dword [esp + 0x14]
jb 0x100e9b90
lea eax, [esi + 8]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebp
mov dword [esi + 0x188], eax
jmp 0x100e99c6
mov eax, dword [esi + 0x188]
xor edx, edx
sub eax, esi
mov dword [esp + 0x1c], edx
sub eax, 8
sar eax, 3
mov dword [esp + 0x2c], eax
cmp eax, 6
jb 0x100e9cbc
nop dword [eax]
mov ecx, esi
call fcn.100e9300
inc edx
mov ecx, esi
lea edi, [eax + ebp]
mov dword [esp + 0x14], edi
call fcn.100e9300
mov edx, dword [esp + 0x1c]
mov ecx, esi
add edx, 2
lea ebp, [ebx + eax]
call fcn.100e9300
mov edx, dword [esp + 0x1c]
mov ecx, esi
lea ebx, [edi + eax]
lea edx, [edx + 3]
call fcn.100e9300
mov edx, dword [esp + 0x1c]
mov ecx, esi
lea edi, [eax + ebp]
lea edx, [edx + 4]
call fcn.100e9300
mov edx, dword [esp + 0x1c]
add eax, ebx
mov ecx, esi
mov dword [esp + 0x24], eax
lea edx, [edx + 5]
call fcn.100e9300
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x190]
add eax, edi
push eax
push dword [esp + 0x28]
mov dword [esp + 0x28], eax
push edi
push ebx
push ebp
call fcn.100eba80
mov edx, dword [esp + 0x30]
add esp, 0x14
mov ebp, dword [esp + 0x24]
add edx, 6
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x3ecc], ebp
mov dword [esp + 0x3ed0], ebx
lea eax, [edx + 6]
mov dword [esp + 0x1c], edx
cmp eax, dword [esp + 0x2c]
jbe 0x100e9c10
cmp byte [esp + 0x34], 0x18
jne 0x100e9b5b
mov ecx, esi
call fcn.100e9300
add ebp, eax
inc edx
mov ecx, esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x3ecc], ebp
call fcn.100e9300
add ebx, eax
lea ecx, [esp + 0x190]
push ebx
mov edx, ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x3ed4], ebx
call fcn.100ebc70
lea eax, [esi + 8]
add esp, 4
mov dword [esi + 0x188], eax
jmp 0x100e99c6
mov eax, dword [esp + 0x44]
cmp eax, 0x10
jg 0x100eb149
inc eax
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x64]
jb 0x100e9d3d
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x100e9d3b
cmp dword [eax], 0
jne 0x100e9d3b
mov dword [eax], 0x82
xor eax, eax
imul eax, dword [esp + 0x70]
mov edi, dword [esp + 0x50]
mov ecx, dword [esi + 0x188]
add edi, eax
lea eax, [esi + 8]
mov dword [esp + 0x10], edi
cmp ecx, eax
jne 0x100e9d6f
mov eax, dword [esi + 4]
test eax, eax
je 0x100e9d6b
cmp dword [eax], 0
jne 0x100e9d6b
mov dword [eax], 0xa1
xor eax, eax
jmp 0x100e9d96
cmp dword [ecx - 4], 2
je 0x100e9d8b
mov eax, dword [esi + 4]
test eax, eax
je 0x100e9d87
cmp dword [eax], 0
jne 0x100e9d87
mov dword [eax], 0xa0
xor eax, eax
jmp 0x100e9d96
lea eax, [ecx - 8]
mov dword [esi + 0x188], eax
mov eax, dword [eax]
cmp byte [esp + 0x34], 0x1d
xorps xmm0, xmm0
mov edx, dword [esp + 0x48]
movups xmmword [edi], xmm0
je 0x100e9ddc
mov ecx, dword [edx + 0x2c0]
add ecx, eax
cmp ecx, dword [edx + 0x2b8]
jae 0x100eb149
mov eax, dword [edx + 0x2c8]
mov eax, dword [eax + ecx*4]
mov dword [edi + 0xc], eax
mov dword [edi + 4], eax
mov eax, dword [edx + 0x2c8]
mov eax, dword [eax + ecx*4 + 4]
mov dword [edi + 8], eax
jmp 0x100e99ca
mov ecx, dword [edx + 0x2c4]
add ecx, eax
cmp ecx, dword [edx + 0x2bc]
jae 0x100eb149
mov eax, dword [edx + 0x2cc]
mov eax, dword [eax + ecx*4]
mov dword [edi + 0xc], eax
mov dword [edi + 4], eax
mov eax, dword [edx + 0x2cc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [edi + 8], eax
jmp 0x100e99ca
mov eax, dword [esp + 0x44]
cmp eax, 1
jl 0x100eb149
dec eax
mov edi, eax
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x64]
jb 0x100e9e40
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x100e9e3e
cmp dword [eax], 0
jne 0x100e9e3e
mov dword [eax], 0x82
xor edi, edi
imul edi, dword [esp + 0x70]
add edi, dword [esp + 0x50]
mov dword [esp + 0x10], edi
jmp 0x100e99ca
mov edi, dword [esp + 0x10]
cmp edx, ecx
jae 0x100e9e64
mov cl, byte [edx]
lea eax, [edx + 1]
mov dword [edi + 0xc], eax
jmp 0x100e9e77
mov eax, dword [edi]
test eax, eax
je 0x100e9e75
cmp dword [eax], 0
jne 0x100e9e75
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
cmp eax, 0x25
ja case.0x100e9e8a.0
movzx eax, byte [eax + 0x100eb428]
jmp dword [eax*4 + 0x100eb3c4]
mov ecx, esi
call fcn.100e9360
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.100e9360
test eax, eax
je 0x100e9eb5
cmp dword [esp + 0x14], 0
je 0x100e9eb5
mov eax, 1
jmp 0x100e9eb7
xor eax, eax
mov edx, dword [esi + 0x188]
lea ecx, [esi + 0x188]
cmp edx, ecx
jne 0x100e9f28
mov eax, dword [esi + 4]
test eax, eax
je 0x100e99ca
cmp dword [eax], 0
jne 0x100e99ca
mov dword [eax], 0x82
jmp 0x100e99ca
mov ecx, esi
call fcn.100e9360
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.100e9360
test eax, eax
jne 0x100e9eae
cmp dword [esp + 0x14], eax
jne 0x100e9eae
jmp 0x100e9eb5
mov ecx, esi
call fcn.100e9360
mov edx, dword [esi + 0x188]
lea ecx, [esi + 0x188]
mov dword [esp + 0x14], eax
cmp edx, ecx
je 0x100e9ec7
xor eax, eax
cmp dword [esp + 0x14], eax
sete al
mov dword [edx], eax
mov eax, dword [ecx]
mov dword [eax + 4], 2
add dword [ecx], 8
jmp 0x100e99ca
mov ecx, esi
call fcn.100e9360
cdq
lea ecx, [esi + 0x188]
xor eax, edx
sub eax, edx
mov edx, dword [ecx]
cmp edx, ecx
jne 0x100ea3b8
jmp 0x100e9ec7
mov ecx, esi
call fcn.100e9360
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.100e9360
mov edx, dword [esi + 0x188]
lea ecx, [esi + 0x188]
mov dword [esp + 0x2c], eax
cmp edx, ecx
je 0x100e9ec7
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x2c]
mov dword [edx], eax
mov eax, dword [ecx]
mov dword [eax + 4], 0
jmp 0x100e99c3
mov ecx, esi
call fcn.100e9360
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.100e9360
mov edx, dword [esi + 0x188]
lea ecx, [esi + 0x188]
cmp edx, ecx
je 0x100e9ec7
sub eax, dword [esp + 0x14]
mov dword [edx], eax
mov eax, dword [ecx]
mov dword [eax + 4], 0
add dword [ecx], 8
jmp 0x100e99ca
mov ecx, esi
call fcn.100e9360
mov ecx, esi
mov edi, eax
call fcn.100e9360
mov edx, edi
mov ecx, eax
call fcn.100d5d20
mov edx, dword [esi + 0x188]
lea ecx, [esi + 0x188]
cmp edx, ecx
jne 0x100e9f8e
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x10]
test eax, eax
je 0x100e99ca
cmp dword [eax], 0
jne 0x100e99ca
mov dword [eax], 0x82
jmp 0x100e99c6
mov ecx, esi
call fcn.100e9360
mov edx, dword [esi + 0x188]
lea ecx, [esi + 0x188]
cmp edx, ecx
je 0x100e9ec7
neg eax
mov dword [edx], eax
mov eax, dword [ecx]
mov dword [eax + 4], 0
add dword [ecx], 8
jmp 0x100e99ca
mov ecx, esi
call fcn.100e9360
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.100e9360
mov edx, dword [esi + 0x188]
lea ecx, [esi + 0x188]
mov dword [esp + 0x14], eax
cmp edx, ecx
je 0x100e9ec7
mov edi, dword [esp + 0x14]
xor eax, eax
cmp edi, dword [esp + 0x2c]
sete al
mov dword [edx], eax
jmp 0x100e99ba
mov ecx, esi
call fcn.100e9360
jmp 0x100e99ca
mov ecx, dword [esi + 0x188]
lea eax, [esi + 8]
cmp ecx, eax
jne 0x100ea0c4
mov eax, dword [esi + 4]
test eax, eax
je 0x100ea0c0
cmp dword [eax], 0
jne 0x100ea0c0
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100ea0eb
cmp dword [ecx - 4], 2
je 0x100ea0e0
mov eax, dword [esi + 4]
test eax, eax
je 0x100ea0dc
cmp dword [eax], 0
jne 0x100ea0dc
mov dword [eax], 0xa0
xor edi, edi
jmp 0x100ea0eb
lea eax, [ecx - 8]
mov dword [esi + 0x188], eax
mov edi, dword [eax]
mov ecx, esi
call fcn.100e9360
cmp edi, 0x1f
ja 0x100e99c6
mov dword [esp + edi*4 + 0x110], eax
jmp 0x100e99c6
mov edx, dword [esi + 0x188]
lea ecx, [esi + 0x188]
lea eax, [esi + 8]
cmp edx, eax
jne 0x100ea130
mov eax, dword [esi + 4]
test eax, eax
je 0x100ea12c
cmp dword [eax], 0
jne 0x100ea12c
mov dword [eax], 0xa1
xor eax, eax
jmp 0x100ea164
cmp dword [edx - 4], 2
je 0x100ea14c
mov eax, dword [esi + 4]
test eax, eax
je 0x100ea148
cmp dword [eax], 0
jne 0x100ea148
mov dword [eax], 0xa0
xor eax, eax
jmp 0x100ea164
lea eax, [edx - 8]
mov dword [ecx], eax
mov eax, dword [eax]
test eax, eax
js 0x100e99ca
cmp eax, 0x20
jge 0x100e99ca
mov edx, dword [esp + eax*4 + 0x110]
mov eax, dword [ecx]
cmp eax, ecx
je 0x100e9ec7
mov dword [eax], edx
mov eax, dword [ecx]
mov dword [eax + 4], 0
add dword [ecx], 8
jmp 0x100e99ca
mov ecx, esi
call fcn.100e9360
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.100e9360
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.100e9360
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.100e9360
mov edx, dword [esi + 0x188]
lea ecx, [esi + 0x188]
mov dword [esp + 0x1c], eax
cmp edx, ecx
je 0x100e9ec7
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
cmovle eax, dword [esp + 0x1c]
mov dword [edx], eax
mov eax, dword [ecx]
mov dword [eax + 4], 0
add dword [ecx], 8
jmp 0x100e99ca
mov ecx, esi
call fcn.100e9360
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.100e9360
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0xd0], eax
mov edx, dword [esi + 0x188]
lea ecx, [esi + 0x188]
cmp edx, ecx
je 0x100e9ec7
mov eax, dword [esp + 0xd0]
mov dword [edx], eax
mov eax, dword [ecx]
mov dword [eax + 4], 0
add dword [ecx], 8
jmp 0x100e99ca
mov ecx, esi
call fcn.100e9360
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
jle 0x100ea2ac
mov edx, edi
mov ecx, edi
call fcn.100d5d20
lea ecx, [edi + 1]
add ecx, eax
sar ecx, 1
mov dword [esp + 0x1c], ecx
cmp ecx, edi
je 0x100ea2ae
mov esi, ecx
mov ebx, edi
mov edx, esi
mov ecx, ebx
mov edi, esi
call fcn.100d5d20
inc esi
add esi, eax
sar esi, 1
cmp esi, edi
jne 0x100ea286
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1c]
jmp 0x100ea2ae
xor ecx, ecx
mov eax, dword [esi + 0x188]
lea edx, [esi + 0x188]
cmp eax, edx
jne 0x100ea2e1
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x10]
test eax, eax
je 0x100e99ca
cmp dword [eax], 0
jne 0x100e99ca
mov dword [eax], 0x82
jmp 0x100e99c6
mov dword [eax], ecx
mov eax, dword [edx]
mov dword [eax + 4], 0
add dword [edx], 8
jmp 0x100e99c6
mov ecx, esi
call fcn.100e9360
mov edx, dword [esi + 0x188]
lea ecx, [esi + 0x188]
mov dword [esp + 0x14], eax
cmp edx, ecx
jne 0x100ea329
mov eax, dword [esi + 4]
test eax, eax
je 0x100ea339
cmp dword [eax], 0
jne 0x100ea339
mov dword [eax], 0x82
mov edx, dword [esi + 0x188]
jmp 0x100ea339
mov dword [edx], eax
mov eax, dword [ecx]
mov dword [eax + 4], 0
add dword [ecx], 8
mov edx, dword [ecx]
cmp edx, ecx
je 0x100e9ec7
mov eax, dword [esp + 0x14]
mov dword [edx], eax
mov eax, dword [ecx]
mov dword [eax + 4], 0
add dword [ecx], 8
jmp 0x100e99ca
mov ecx, esi
call fcn.100e9360
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.100e9360
mov edx, dword [esi + 0x188]
lea ecx, [esi + 0x188]
mov dword [esp + 0x2c], eax
cmp edx, ecx
jne 0x100ea398
mov eax, dword [esi + 4]
test eax, eax
je 0x100ea3ac
cmp dword [eax], 0
jne 0x100ea3ac
mov dword [eax], 0x82
mov edx, dword [esi + 0x188]
jmp 0x100ea3ac
mov eax, dword [esp + 0x14]
mov dword [edx], eax
mov eax, dword [ecx]
mov dword [eax + 4], 0
add dword [ecx], 8
mov edx, dword [ecx]
cmp edx, ecx
je 0x100e9ec7
mov eax, dword [esp + 0x2c]
mov dword [edx], eax
mov eax, dword [ecx]
mov dword [eax + 4], 0
add dword [ecx], 8
jmp 0x100e99ca
mov ecx, dword [esi + 0x188]
lea edi, [esi + 0x188]
lea eax, [esi + 8]
cmp ecx, eax
jne 0x100ea3f4
mov eax, dword [esi + 4]
test eax, eax
je 0x100ea3f0
cmp dword [eax], 0
jne 0x100ea3f0
mov dword [eax], 0xa1
xor eax, eax
jmp 0x100ea417
cmp dword [ecx - 4], 2
je 0x100ea410
mov eax, dword [esi + 4]
test eax, eax
je 0x100ea40c
cmp dword [eax], 0
jne 0x100ea40c
mov dword [eax], 0xa0
xor eax, eax
jmp 0x100ea417
lea eax, [ecx - 8]
mov dword [edi], eax
mov eax, dword [eax]
mov edx, dword [edi]
sub edx, esi
sub edx, 8
sar edx, 3
test edx, edx
je 0x100e99c6
test eax, eax
js 0x100ea437
cmp eax, edx
jb 0x100ea435
xor edx, edx
jmp 0x100ea438
sub edx, eax
dec edx
mov ecx, esi
call fcn.100e9300
mov ecx, dword [edi]
cmp ecx, edi
jne 0x100ea468
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x10]
test eax, eax
je 0x100e99ca
cmp dword [eax], 0
jne 0x100e99ca
mov dword [eax], 0x82
jmp 0x100e99c6
mov dword [ecx], eax
mov eax, dword [edi]
mov dword [eax + 4], 0
add dword [edi], 8
jmp 0x100e99c6
mov eax, dword [esi + 0x188]
lea ecx, [esi + 8]
cmp eax, ecx
jne 0x100ea49e
mov eax, dword [esi + 4]
test eax, eax
je 0x100ea49a
cmp dword [eax], 0
jne 0x100ea49a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ea4c5
cmp dword [eax - 4], 2
je 0x100ea4ba
mov eax, dword [esi + 4]
test eax, eax
je 0x100ea4b6
cmp dword [eax], 0
jne 0x100ea4b6
mov dword [eax], 0xa0
xor edx, edx
jmp 0x100ea4c5
add eax, 0xfffffff8
mov dword [esi + 0x188], eax
mov edx, dword [eax]
mov eax, dword [esi + 0x188]
cmp eax, ecx
jne 0x100ea4f6
mov eax, dword [esi + 4]
test eax, eax
je 0x100ea50e
cmp dword [eax], 0
jne 0x100ea50e
mov dword [eax], 0xa1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 2
jmp 0x100e99ca
cmp dword [eax - 4], 2
je 0x100ea523
mov eax, dword [esi + 4]
test eax, eax
je 0x100ea50e
cmp dword [eax], 0
jne 0x100ea50e
mov dword [eax], 0xa0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 2
jmp 0x100e99ca
add eax, 0xfffffff8
mov dword [esp + 0x1c], 0
mov dword [esi + 0x188], eax
mov dword [esp + 0x34], 2
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
cmp ecx, 2
jl 0x100e99ca
sub eax, esi
sub eax, 8
sar eax, 3
cmp ecx, eax
ja 0x100e9ec7
test edx, edx
jns 0x100ea570
neg edx
mov eax, edx
cdq
idiv ecx
mov ecx, edx
neg ecx
mov dword [esp + 0x30], ecx
jmp 0x100ea57b
mov eax, edx
cdq
idiv ecx
mov ecx, edx
mov dword [esp + 0x30], edx
test ecx, ecx
je 0x100e99ca
mov ebp, dword [esp + 0x14]
lea esi, [ecx*8]
or ebx, 0xffffffff
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x5c]
or edi, ebx
mov dword [esp + 0x2c], ebp
lea eax, [ebp*8]
lea edx, [ebx - 7]
nop dword [eax]
cmp ebx, edi
jne 0x100ea5d9
mov ecx, dword [esp + 0x30]
inc ebx
mov edi, ebx
lea edx, [ebx*8]
mov eax, dword [edx + esi + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + esi + 0xc]
mov dword [esp + 0x34], eax
lea eax, [ebp*8]
add edx, dword [esp + 0x3c]
add edi, ecx
cmp edi, ebp
jl 0x100ea5e9
sub edi, ebp
sub edx, eax
jmp 0x100ea5f1
test edi, edi
jns 0x100ea5f1
add edi, ebp
add edx, eax
sub dword [esp + 0x2c], 1
mov eax, dword [esi + edx + 8]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esi + edx + 0xc]
mov dword [esi + edx + 8], ebp
mov ebp, dword [esp + 0x34]
mov dword [esi + edx + 0xc], ebp
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x30]
lea eax, [ebp*8]
jne 0x100ea5b0
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
jmp 0x100e99c6
push 0
push 0x10177e24
jmp 0x100ea699
push 0
push 0x10177fb0
lea eax, [esp + 0x198]
mov ecx, esi
push eax
lea eax, [esp + 0x3edc]
push eax
lea edx, [esp + 0x3edc]
call fcn.100eb450
mov ebx, dword [esp + 0x3ee0]
lea eax, [esi + 8]
mov ebp, dword [esp + 0x3edc]
add esp, 0x10
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebp
mov dword [esi + 0x188], eax
jmp 0x100e99ca
push 0
push 0x10177a9c
jmp 0x100ea699
push 1
push 0x10177f40
lea eax, [esp + 0x198]
mov ecx, esi
push eax
lea eax, [esp + 0x3edc]
push eax
lea edx, [esp + 0x3edc]
call fcn.100eb450
mov ebx, dword [esp + 0x3ee0]
add esp, 0x10
mov ebp, dword [esp + 0x3ecc]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebp
jmp 0x100e99ca
mov eax, dword [esi + 0x188]
sub eax, esi
sub eax, 8
sar eax, 3
cmp eax, 1
jbe 0x100ea6f6
cmp byte [esp + 0xf8], 0
jne case.0x100e9a1d.0
mov edi, dword [esp + 0x38]
lea eax, [esp + 0x1b]
push ecx
push eax
push dword [esp + 0x3edc]
lea eax, [esp + 0x80]
mov edx, esi
push eax
mov ecx, edi
call fcn.100eb670
mov eax, dword [edi + 0x84]
add esp, 0x10
cmp byte [eax + 0x231], 0
jne 0x100eb23e
cmp byte [esp + 0x34], 0x13
jne 0x100ea767
mov eax, dword [esp + 0x88]
lea ecx, [esp + 0xf4]
add eax, dword [esp + 0xa8]
mov edi, dword [esp + 0x10]
mov edx, edi
push eax
call fcn.100eb8f0
lea eax, [esi + 8]
add esp, 4
mov dword [esi + 0x188], eax
jmp 0x100e99ca
push 0xf1c
lea eax, [esp + 0x2f9c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov al, byte [edi + 0x8c]
lea ecx, [esp + 0xc0]
mov byte [esp + 0x2fb1], al
add esp, 0xc
mov eax, dword [esp + 0x58]
xorps xmm0, xmm0
mov dword [esp + 0x2fa8], eax
lea eax, [esp + 0x1fd0]
mov dword [esp + 0x2f9c], eax
lea eax, [esp + 0x2eec]
mov dword [esp + 0x2fa0], eax
lea eax, [edi + 4]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x88]
add eax, dword [esp + 0xa8]
mov dword [esp + 0x2f98], edi
mov edi, dword [esp + 0x10]
mov edx, edi
push eax
movlpd qword [esp + 0xbc], xmm0
movlpd qword [esp + 0xc4], xmm0
movlpd qword [esp + 0xcc], xmm0
call fcn.100eb8f0
add esp, 4
lea eax, [esp + 0xb4]
lea edx, [esp + 0x94]
lea ecx, [esp + 0x2f98]
push 0
push 0
push eax
lea eax, [esp + 0x80]
push eax
call fcn.100ecad0
lea eax, [esi + 8]
add esp, 0x10
mov dword [esi + 0x188], eax
jmp 0x100e99ca
mov eax, dword [esi + 0x188]
sub eax, esi
sub eax, 8
sar eax, 3
cmp eax, 2
jbe 0x100ea86d
cmp byte [esp + 0x1b], 0
jne 0x100ea86d
xor edx, edx
mov ecx, esi
call fcn.100e9300
mov ecx, dword [esp + 0x3ed4]
add eax, dword [esp + 0x4c]
mov dword [ecx], eax
mov eax, dword [esp + 0x38]
mov byte [esp + 0x1b], 1
mov eax, dword [eax + 0x84]
cmp byte [eax + 0x231], 0
jne 0x100eb23e
mov ecx, esi
call fcn.100e9360
add ebx, eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3ed0], ebx
jmp 0x100ea8eb
mov eax, dword [esi + 0x188]
sub eax, esi
sub eax, 8
sar eax, 3
cmp eax, 1
jbe 0x100ea8cf
cmp byte [esp + 0x1b], 0
jne 0x100ea8cf
xor edx, edx
mov ecx, esi
call fcn.100e9300
mov ecx, dword [esp + 0x3ed4]
add eax, dword [esp + 0x4c]
mov dword [ecx], eax
mov eax, dword [esp + 0x38]
mov byte [esp + 0x1b], 1
mov eax, dword [eax + 0x84]
cmp byte [eax + 0x231], 0
jne 0x100eb23e
mov ecx, esi
call fcn.100e9360
add ebp, eax
mov dword [esp + 0x3ecc], ebp
mov dword [esp + 0x24], ebp
push ebx
mov edx, ebp
lea ecx, [esp + 0x194]
call fcn.100ebdf0
add esp, 4
mov edi, dword [esp + 0x10]
lea eax, [esi + 8]
mov dword [esi + 0x188], eax
jmp 0x100e99ca
mov ecx, dword [esi + 0x188]
xor eax, eax
sub ecx, esi
mov dword [esp + 0x14], eax
sub ecx, 8
sar ecx, 3
mov dword [esp + 0x2c], ecx
cmp ecx, 6
jbe 0x100ea998
lea edi, [eax + 6]
mov edx, eax
mov ecx, esi
call fcn.100e9300
add ebp, eax
lea edx, [edi - 5]
mov ecx, esi
mov dword [esp + 0x3ecc], ebp
call fcn.100e9300
add ebx, eax
lea ecx, [esp + 0x190]
push ebx
mov edx, ebp
mov dword [esp + 0x3ed4], ebx
call fcn.100ebc70
mov eax, dword [esp + 0x18]
add edi, 2
mov ecx, dword [esp + 0x30]
add eax, 2
add esp, 4
mov dword [esp + 0x14], eax
cmp edi, ecx
jb 0x100ea943
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebp
cmp eax, ecx
jae 0x100e9b5b
lea ecx, [eax + 2]
mov dword [esp + 0x1c], ecx
nop word [eax + eax]
lea edx, [ecx - 2]
mov ecx, esi
call fcn.100e9300
mov edx, dword [esp + 0x1c]
mov ecx, esi
dec edx
lea edi, [eax + ebp]
mov dword [esp + 0x3c], edi
call fcn.100e9300
mov edx, dword [esp + 0x1c]
mov ecx, esi
lea ebp, [ebx + eax]
call fcn.100e9300
inc edx
mov ecx, esi
lea ebx, [edi + eax]
call fcn.100e9300
mov edx, dword [esp + 0x1c]
mov ecx, esi
add edx, 2
lea edi, [eax + ebp]
call fcn.100e9300
mov edx, dword [esp + 0x1c]
add eax, ebx
mov ecx, esi
mov dword [esp + 0x24], eax
lea edx, [edx + 3]
call fcn.100e9300
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x190]
add eax, edi
push eax
push dword [esp + 0x28]
mov dword [esp + 0x28], eax
push edi
push ebx
push ebp
call fcn.100eba80
mov ecx, dword [esp + 0x30]
add esp, 0x14
mov ebp, dword [esp + 0x24]
add ecx, 6
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x3ecc], ebp
mov dword [esp + 0x3ed0], ebx
lea eax, [ecx - 2]
mov dword [esp + 0x1c], ecx
cmp eax, dword [esp + 0x2c]
jb 0x100ea9b0
lea eax, [esi + 8]
mov dword [esi + 0x188], eax
jmp 0x100e99c6
mov edi, dword [esi + 0x188]
sub edi, esi
sub edi, 8
sar edi, 3
mov eax, edi
and eax, 0xfffffffd
sub edi, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], edi
cmp edi, eax
jae 0x100e9b5b
nop dword [eax]
sub eax, edi
test al, 1
je 0x100eaaac
mov edx, edi
mov ecx, esi
call fcn.100e9300
add eax, ebp
inc edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], edi
jmp 0x100eaab0
mov dword [esp + 0x30], ebp
mov edx, edi
mov ecx, esi
call fcn.100e9300
mov ebx, eax
lea edx, [edi + 1]
add ebx, dword [esp + 0x20]
mov ecx, esi
call fcn.100e9300
mov ebp, eax
lea edx, [edi + 2]
add ebp, dword [esp + 0x30]
mov ecx, esi
call fcn.100e9300
mov edx, dword [esp + 0x1c]
mov ecx, esi
add edx, 3
lea edi, [ebx + eax]
call fcn.100e9300
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x190]
add eax, edi
push eax
push ebp
push edi
push ebp
push ebx
mov dword [esp + 0x34], eax
call fcn.100eba80
mov edi, dword [esp + 0x30]
add esp, 0x14
mov eax, dword [esp + 0x3c]
add edi, 4
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x3ecc], ebp
mov dword [esp + 0x3ed0], ebx
mov dword [esp + 0x1c], edi
cmp edi, eax
jb 0x100eaa90
lea eax, [esi + 8]
mov dword [esp + 0x24], ebp
mov dword [esi + 0x188], eax
jmp 0x100e99c6
mov edx, dword [esi + 0x188]
sub edx, esi
sub edx, 8
sar edx, 3
mov eax, edx
and eax, 0xfffffffd
sub edx, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], edx
cmp edx, eax
jae 0x100e9b5b
sub eax, edx
test al, 1
je 0x100eab82
mov ecx, esi
call fcn.100e9300
add eax, ebx
inc edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], edx
jmp 0x100eab86
mov dword [esp + 0x30], ebx
mov ecx, esi
call fcn.100e9300
inc edx
mov ecx, esi
lea ebx, [eax + ebp]
call fcn.100e9300
mov ebp, dword [esp + 0x1c]
mov ecx, esi
lea edi, [ebx + eax]
lea edx, [ebp + 2]
call fcn.100e9300
add eax, dword [esp + 0x30]
lea edx, [ebp + 3]
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.100e9300
mov edx, ebx
lea ecx, [esp + 0x190]
lea ebp, [edi + eax]
mov eax, dword [esp + 0x20]
push eax
push ebp
push eax
push edi
push dword [esp + 0x40]
call fcn.100eba80
mov edx, dword [esp + 0x30]
add esp, 0x14
mov eax, dword [esp + 0x3c]
add edx, 4
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x3ecc], ebp
mov dword [esp + 0x3ed0], ebx
mov dword [esp + 0x1c], edx
cmp edx, eax
jb 0x100eab68
lea eax, [esi + 8]
mov dword [esp + 0x24], ebp
mov dword [esi + 0x188], eax
jmp 0x100e99c6
mov edi, dword [esi + 0x188]
sub edi, esi
sub edi, 8
sar edi, 3
cmp byte [esp + 0x34], 0x1f
mov edx, edi
sete cl
and edx, 0xfffffffd
sub edi, edx
mov dword [esp + 0x3c], edx
cmp edi, edx
jae 0x100e9b5b
nop
lea eax, [edi + 1]
mov dword [esp + 0x34], eax
mov eax, edx
sub eax, edi
mov edx, edi
test cl, cl
mov dword [esp + 0x14], eax
mov ecx, esi
je 0x100eaccc
call fcn.100e9300
mov edx, dword [esp + 0x34]
add eax, ebp
mov ecx, esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ebx
call fcn.100e9300
mov ebp, eax
lea edx, [edi + 2]
add ebp, dword [esp + 0x20]
mov ecx, esi
mov dword [esp + 0x24], ebp
call fcn.100e9300
add eax, ebx
lea edx, [edi + 3]
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.100e9300
mov ebx, eax
add ebx, dword [esp + 0x1c]
cmp dword [esp + 0x14], 5
jne 0x100eacc0
lea edx, [edi + 4]
mov ecx, esi
call fcn.100e9300
mov edi, dword [esp + 0x34]
mov ebp, eax
mov eax, dword [esp + 0x24]
add ebp, eax
xor cl, cl
mov byte [esp + 0x2b], cl
jmp 0x100ead36
mov eax, dword [esp + 0x24]
xor cl, cl
mov byte [esp + 0x2b], cl
jmp 0x100ead36
mov dword [esp + 0x20], ebp
call fcn.100e9300
mov edx, dword [esp + 0x34]
add eax, ebx
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.100e9300
lea edx, [edi + 2]
mov ecx, esi
lea ebx, [eax + ebp]
mov dword [esp + 0x24], ebx
call fcn.100e9300
add eax, dword [esp + 0x30]
lea edx, [edi + 3]
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.100e9300
cmp dword [esp + 0x14], 5
lea ebp, [ebx + eax]
jne 0x100ead29
lea edx, [edi + 4]
mov ecx, esi
call fcn.100e9300
mov edi, dword [esp + 0x34]
mov ebx, eax
add ebx, dword [esp + 0x1c]
jmp 0x100ead2d
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov byte [esp + 0x2b], 1
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x190]
push ebx
push ebp
push dword [esp + 0x24]
push eax
push dword [esp + 0x40]
call fcn.100eba80
mov edx, dword [esp + 0x50]
add edi, 4
mov cl, byte [esp + 0x3f]
add esp, 0x14
mov dword [esp + 0x3ecc], ebp
mov dword [esp + 0x3ed0], ebx
cmp edi, edx
jb 0x100eac40
lea eax, [esi + 8]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebp
mov dword [esi + 0x188], eax
jmp 0x100e99c6
mov edi, dword [esp + 0x10]
cmp edx, ecx
jae 0x100ead9e
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx eax, al
jmp 0x100eadb7
mov eax, dword [edi]
test eax, eax
je 0x100eadb5
cmp dword [eax], 0
jne 0x100eadb5
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor eax, eax
mov dword [esp + 0x14], eax
cmp edx, ecx
jae 0x100eadd9
mov cl, byte [edx]
lea eax, [edx + 1]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x14]
shl eax, 8
movzx ecx, cl
cwde
or eax, ecx
jmp 0x100e9eb7
mov eax, dword [edi]
test eax, eax
je 0x100eadea
cmp dword [eax], 0
jne 0x100eadea
mov dword [eax], 0x55
mov eax, dword [esp + 0x14]
xor ecx, ecx
shl eax, 8
cwde
or eax, ecx
jmp 0x100e9eb7
cmp al, 0xf6
ja 0x100eae3f
mov eax, dword [esi + 0x188]
lea ecx, [esi + 0x188]
add edi, 0xffffff75
cmp eax, ecx
jne 0x100eae38
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x10]
test eax, eax
je 0x100e99ca
cmp dword [eax], 0
jne 0x100e99ca
mov dword [eax], 0x82
jmp 0x100e99c6
mov dword [eax], edi
jmp 0x100e99ba
cmp al, 0xfa
ja 0x100eaeb4
shl edi, 8
cmp edx, ecx
jae 0x100eae5b
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x10]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x100eae72
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x100eae70
cmp dword [eax], 0
jne 0x100eae70
mov dword [eax], 0x55
xor eax, eax
lea edx, [eax - 0xf694]
mov eax, dword [esi + 0x188]
lea ecx, [esi + 0x188]
add edx, edi
cmp eax, ecx
jne 0x100eaead
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x10]
test eax, eax
je 0x100e99ca
cmp dword [eax], 0
jne 0x100e99ca
mov dword [eax], 0x82
jmp 0x100e99c6
mov dword [eax], edx
jmp 0x100e99ba
cmp al, 0xfe
ja 0x100eaf2d
add edi, 0xffffff05
shl edi, 8
cmp edx, ecx
jae 0x100eaed6
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x10]
movzx ecx, cl
mov dword [edx + 0xc], eax
jmp 0x100eaeed
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x100eaeeb
cmp dword [eax], 0
jne 0x100eaeeb
mov dword [eax], 0x55
xor ecx, ecx
mov edx, dword [esi + 0x188]
mov eax, 0xffffff94
sub eax, ecx
lea ecx, [esi + 0x188]
sub eax, edi
cmp edx, ecx
jne 0x100ea08e
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x10]
test eax, eax
je 0x100e99ca
cmp dword [eax], 0
jne 0x100e99ca
mov dword [eax], 0x82
jmp 0x100e99c6
mov edi, dword [esp + 0x10]
cmp edx, ecx
jae 0x100eaf40
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx edi, al
jmp 0x100eaf59
mov eax, dword [edi]
test eax, eax
je 0x100eaf57
cmp dword [eax], 0
jne 0x100eaf57
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor edi, edi
cmp edx, ecx
jae 0x100eaf74
mov ebx, dword [esp + 0x10]
mov al, byte [edx]
inc edx
movzx eax, al
mov dword [esp + 0x14], eax
mov dword [ebx + 0xc], edx
mov ebx, dword [esp + 0x20]
jmp 0x100eaf9b
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x100eaf93
cmp dword [eax], 0
jne 0x100eaf93
mov dword [eax], 0x55
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov dword [esp + 0x14], 0
cmp edx, ecx
jae 0x100eafb6
mov ebp, dword [esp + 0x10]
mov al, byte [edx]
inc edx
movzx eax, al
mov dword [esp + 0x2c], eax
mov dword [ebp + 0xc], edx
mov ebp, dword [esp + 0x24]
jmp 0x100eafdd
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x100eafd5
cmp dword [eax], 0
jne 0x100eafd5
mov dword [eax], 0x55
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov dword [esp + 0x2c], 0
cmp edx, ecx
jae 0x100eaff2
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x10]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x100eb009
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x100eb007
cmp dword [eax], 0
jne 0x100eb007
mov dword [eax], 0x55
xor eax, eax
shl edi, 8
lea ecx, [esi + 0x188]
or edi, dword [esp + 0x14]
shl edi, 8
or edi, dword [esp + 0x2c]
shl edi, 8
or edi, eax
mov eax, dword [ecx]
cmp eax, ecx
jne 0x100eb04b
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x10]
test eax, eax
je 0x100e99ca
cmp dword [eax], 0
jne 0x100e99ca
mov dword [eax], 0x82
jmp 0x100e99c6
mov dword [eax], edi
mov eax, dword [ecx]
mov dword [eax + 4], 0
jmp 0x100e99c3
mov eax, dword [esi + 0x188]
sub eax, esi
sub eax, 8
sar eax, 3
cmp eax, 1
je 0x100eb073
cmp eax, 5
jne 0x100eb090
cmp byte [esp + 0x1b], 0
jne 0x100eb090
xor edx, edx
mov ecx, esi
call fcn.100e9300
mov ecx, dword [esp + 0x3ed4]
add eax, dword [esp + 0x4c]
mov dword [ecx], eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x84]
cmp byte [eax + 0x231], 0
jne 0x100eb23e
cmp byte [esp + 0x2f20], 0
je 0x100eb128
push dword [esp + 0x2f6c]
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x194]
mov byte [esp + 0x2f25], 1
call fcn.100ebc70
add esp, 4
cmp byte [esp + 0x2f70], 0
je 0x100eb10e
push dword [esp + 0x2f54]
lea eax, [esp + 0x2f4c]
push dword [esp + 0x2f54]
lea edx, [esp + 0x1a0]
push 1
push eax
lea ecx, [esp + 0x1a0]
call fcn.100ec210
add esp, 0x10
mov byte [esp + 0x2f23], 1
mov word [esp + 0x2f20], 0
mov byte [esp + 0x2f70], 0
mov eax, dword [esi + 0x188]
sub eax, esi
sub eax, 8
sar eax, 3
cmp eax, 1
jbe 0x100eb23e
cmp byte [esp + 0x3ec8], 0
je 0x100eb153
mov eax, 0x12
jmp 0x100eb240
mov ecx, esi
call fcn.100e93c0
mov edi, eax
call fcn.100e93c0
mov ebx, eax
call fcn.100e9360
mov ecx, esi
mov ebp, eax
call fcn.100e9360
mov ecx, dword [esp + 0x48]
mov edx, edi
mov dword [esp + 0x58], eax
lea eax, [esp + 0xb4]
push eax
call fcn.100ed790
add esp, 4
test eax, eax
jne 0x100eb240
mov edi, dword [esp + 0x38]
lea eax, [esp + 0x3c]
push eax
push ebp
push dword [esp + 0x60]
lea edx, [esp + 0xc0]
mov ecx, edi
push 1
push dword [esp + 0x3ed4]
push dword [esp + 0x7c]
call fcn.100e9550
mov eax, dword [esp + 0xd4]
lea edx, [esp + 0xd0]
mov ebp, dword [esp + 0x60]
sub eax, dword [esp + 0xd0]
push eax
mov ecx, dword [ebp + 4]
call fcn.100eff10
add esp, 0x1c
lea eax, [esp + 0xb4]
mov edx, ebx
mov ecx, ebp
push eax
call fcn.100ed790
add esp, 4
test eax, eax
jne 0x100eb240
lea eax, [esp + 0x3c]
mov ecx, edi
push eax
push 0
push 0
push 1
push dword [esp + 0x3ed4]
lea edx, [esp + 0xc8]
push dword [esp + 0x7c]
call fcn.100e9550
mov eax, dword [esp + 0xd4]
lea edx, [esp + 0xd0]
sub eax, dword [esp + 0xd0]
mov ecx, dword [ebp + 4]
push eax
call fcn.100eff10
add esp, 0x1c
xor eax, eax
mov ebx, dword [esp + 0x54]
test ebx, ebx
je 0x100eb24f
cmp dword [ebx], 0
jne 0x100eb24f
mov dword [ebx], eax
mov eax, dword [esp + 0x2f08]
mov dword [esp + 0x2ef8], 0
mov dword [esp + 0x2f00], 0
mov dword [esp + 0x2f04], 0
test eax, eax
je 0x100eb28c
push eax
mov eax, dword [esp + 0x2ef0]
push eax
mov eax, dword [eax + 8]
call eax
add esp, 8
mov eax, dword [esp + 0x90]
mov dword [esp + 0x2f08], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
test eax, eax
je 0x100eb2d1
push eax
mov eax, dword [esp + 0x78]
push eax
mov eax, dword [eax + 8]
call eax
add esp, 8
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x90], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
test eax, eax
je 0x100eb319
push eax
mov eax, dword [esp + 0x98]
push eax
mov eax, dword [eax + 8]
call eax
add esp, 8
mov eax, dword [esp + 0x50]
mov dword [esp + 0xb0], 0
test eax, eax
je 0x100eb33d
push eax
mov eax, dword [esp + 0xd8]
push eax
mov eax, dword [eax + 8]
call eax
add esp, 8
test esi, esi
je 0x100eb34d
mov eax, dword [esi]
push esi
push eax
mov eax, dword [eax + 8]
call eax
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3eac
ret