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

Disassembly:
sub esp, 0x4c
push ebx
push ebp
mov ebp, dword [esp + 0x64]
xor ebx, ebx
push edi
mov edi, dword [esp + 0x64]
xor eax, eax
test edi, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x40], ebx
cmove ebp, eax
mov dword [esp + 0x14], ebx
lea eax, [esp + 0x30]
mov byte [esp + 0xf], bl
push eax
push 0x178
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x70], ebp
call fcn.100c9f00
test eax, eax
js 0x1010088b
push esi
lea eax, [esp + 0x1c]
push eax
push ebx
push 0xbc
push dword [esp + 0x40]
call fcn.100ca00c
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
push ecx
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x20]
mov dword [eax + 0x10], edx
call fcn.1010646d
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x20], 0xffffffff
jne 0x100fe1cc
mov ebx, 0xfffff111
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x1010087f
mov eax, dword [esp + 0x68]
test eax, eax
je 0x1010087a
sub edi, eax
sar edi, 1
mov dword [ecx], edi
jmp 0x1010087f
push eax
call fcn.10104853
test eax, eax
js 0x1010088a
mov dword [esp + 0x4c], 0xa
test edi, edi
je 0x100fe35f
movzx ecx, word [edi]
test cx, cx
je 0x100fe35f
mov esi, edi
xor ebx, ebx
lea edx, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, bx
jne 0x100fe1fd
sub esi, edx
sar esi, 1
lea eax, [esi + 0xe]
cmp eax, ebp
jb 0x100fe21a
mov ebx, 0xfffff245
jmp 0x100fe1a1
test esi, esi
je 0x100fe2db
push 0x5d
mov dword [esp + 0x34], 0x5b
mov edx, edi
pop eax
cmp cx, word [esp + 0x30]
jne 0x100fe247
cmp word [edi + esi*2 - 2], ax
jne 0x100fe262
push 2
pop eax
lea edx, [edi + 2]
mov ecx, eax
jmp 0x100fe249
mov ecx, ebx
mov eax, esi
sub eax, ecx
shr ecx, 1
push eax
mov eax, dword [esp + 0x18]
push edx
lea eax, [eax + ecx*2]
push eax
call fcn.1003a870
test eax, eax
jne 0x100fe282
xor eax, eax
mov ebx, 0xfffffc16
push eax
push eax
push eax
push 0xffffe064
push eax
push eax
push edi
push dword [esp + 0x7c]
call fcn.10037780
jmp 0x100fe1a1
mov eax, dword [esp + 0x30]
cmp word [edi], ax
jne 0x100fe299
mov eax, dword [esp + 0x14]
push 0x5d
pop ecx
mov word [eax + esi*2 - 2], cx
jmp 0x100fe2db
lea ebx, [esi + esi]
add ebx, edi
cmp edi, ebx
jae 0x100fe2db
movzx edx, byte [edi]
mov ecx, edx
and ecx, reloc.OLEAUT32.dll_VariantInit
jns 0x100fe2b4
dec ecx
or ecx, 0xfffffff8
inc ecx
xor eax, eax
shr edx, 3
inc eax
shl eax, cl
test byte [edx + 0x1000ef88], al
jne 0x100fe2ce
mov eax, 0x80
cmp word [edi], ax
jb 0x100fe313
push 2
pop eax
add edi, eax
cmp edi, ebx
jb 0x100fe2a2
mov edi, dword [esp + 0x68]
lea ebx, [esi + esi]
mov dword [esp + 0x18], esi
push ebx
lea eax, [edi + 0x14]
push edi
push eax
call fcn.10117c10
mov esi, dword [esp + 0x24]
add esp, 0xc
mov edi, dword [esp + 0x14]
push 0xa
pop eax
add esi, eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x100fe34e
cmp esi, ebp
jb 0x100fe33d
mov ebx, 0xfffff245
jmp 0x100fe1a9
mov edi, dword [esp + 0x68]
lea eax, [esi + esi]
push eax
push edi
lea eax, [edi + 2]
push eax
call fcn.10117c10
mov eax, dword [esp + 0x3c]
add esp, 0xc
mov word [edi], ax
push 0x5d
pop ecx
push 2
pop eax
mov word [ebx + 2], cx
add esi, eax
jmp 0x100fe2db
push 5
pop ecx
mov esi, 0x1000ec28
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
add edi, 0x14
add edi, ebx
xor ebx, ebx
inc ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x40], ebx
xor eax, eax
jmp 0x100fe36b
xor eax, eax
mov dword [esp + 0x18], eax
mov ebx, eax
mov dword [esp + 0x40], eax
push 2
mov esi, eax
pop eax
push eax
push dword [esp + 0x20]
mov dword [esp + 0x44], esi
call fcn.101008ba
push 0x20
pop edx
mov dword [esp + 0x50], edx
test eax, eax
je 0x100fe399
cmp eax, 0xfffff9bf
je 0x100fe8b2
jmp 0x1010088a
test ebx, ebx
je 0x100fe3b7
mov eax, dword [esp + 0x14]
push 2
pop esi
mov word [eax], dx
mov edi, dword [esp + 0x14]
add edi, esi
inc dword [esp + 0x18]
mov dword [esp + 0x14], edi
jmp 0x100fe3f2
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 0xb
mov dword [esp + 0x18], esi
test edi, edi
je 0x100fe3e7
cmp esi, ebp
jae 0x100fe309
push 6
pop ecx
mov esi, 0x1000ec40
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
add edi, 0x16
mov dword [esp + 0x14], edi
push 2
mov dword [esp + 0x40], 1
pop esi
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x94]
push eax
push dword [ecx + 0x60]
lea eax, [esp + 0x20]
push ebp
push eax
push edi
push ecx
call fcn.100fe03f
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edx, edx
je 0x100fe430
mov eax, dword [ecx + 0x94]
lea eax, [edx + eax*2]
mov dword [esp + 0x14], eax
xor eax, eax
push eax
push eax
lea eax, [esp + 0x5c]
push eax
push esi
lea eax, [esp + 0x40]
push eax
push dword [ecx + 0x6c]
push dword [ecx + 0x10]
push dword [ecx + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov esi, dword [esp + 0x18]
cmp ebx, 0x3ec
mov edi, dword [esp + 0x14]
cmove eax, ecx
inc esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x100fe49f
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000bae4]
mov dword [edi], eax
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
push 2
pop eax
add edi, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], edi
cwde
push eax
call fcn.10100966
mov edx, eax
mov dword [esp + 0x48], eax
lea eax, [edx + 2]
mov cx, word [edx]
add edx, 2
cmp cx, word [esp + 0x44]
jne 0x100fe4af
sub edx, eax
sar edx, 1
add esi, edx
mov dword [esp + 0x18], esi
test edi, edi
je 0x100fe4f4
cmp esi, ebp
jae 0x100fe309
lea esi, [edx + edx]
lea eax, [esi + 2]
push eax
push dword [esp + 0x4c]
push edi
call fcn.101175c0
mov edi, dword [esp + 0x20]
add esp, 0xc
add edi, esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x30]
push 0x10
pop eax
cmp ax, cx
je 0x100fe50c
push 0xa
pop eax
cmp ax, cx
jne 0x100fe722
mov edx, dword [esp + 0x1c]
cmp dword [edx + 0x70], 0xffffffff
jne 0x100fe521
mov eax, 0xff
mov dword [esp + 0x24], eax
jmp 0x100fe559
xor eax, eax
push eax
push eax
push eax
push 4
lea eax, [esp + 0x34]
push eax
push dword [edx + 0x70]
push dword [edx + 0x10]
push dword [edx + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x10100888
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
cmp word [esp + 0x4c], cx
jne 0x100fe5ea
test edi, edi
je 0x100fe5e2
cmp ebx, 0x3ec
je 0x100fe574
test eax, eax
jne 0x100fe57c
mov dword [esp + 0x24], 0xff
add esi, 3
mov dword [esp + 0x18], esi
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ee78]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000ee7c]
push 0xa
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x18]
add edx, 6
pop eax
push eax
push dword [esp + 0x28]
mov ecx, edx
mov dword [esp + 0x1c], edx
sub ecx, dword [esp + 0x70]
mov eax, ebp
sar ecx, 1
sub eax, ecx
push eax
push edx
call fcn.1001b090
mov edx, dword [esp + 0x14]
xor ebx, ebx
mov ecx, edx
push 2
pop edi
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, edi
cmp ax, bx
jne 0x100fe5d3
jmp 0x100fe6d9
add esi, 9
jmp 0x100fe72d
cmp ebx, 0x3ec
je 0x100fe72d
test edi, edi
je 0x100fe728
add esi, 3
mov dword [esp + 0x18], esi
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ee78]
mov ebx, dword [esp + 0x68]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000ee7c]
push 0xa
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x18]
pop eax
push eax
movzx eax, word [esp + 0x28]
add edx, 6
push eax
mov ecx, edx
mov dword [esp + 0x1c], edx
sub ecx, ebx
mov eax, ebp
sar ecx, 1
sub eax, ecx
push eax
push edx
call fcn.1001b090
mov edx, dword [esp + 0x14]
xor edi, edi
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x100fe656
sub ecx, esi
mov esi, dword [esp + 0x18]
sar ecx, 1
add esi, 2
add esi, ecx
mov dword [esp + 0x18], esi
lea edi, [edx + ecx*2]
mov dword [esp + 0x14], edi
test edi, edi
je 0x100fe6a6
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ec14]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ec18]
mov word [eax + 4], cx
mov edi, dword [esp + 0x14]
add edi, 4
mov dword [esp + 0x14], edi
push 0xa
pop eax
push eax
movzx eax, word [esp + 0x2a]
mov ecx, edi
push eax
sub ecx, ebx
mov eax, ebp
sar ecx, 1
sub eax, ecx
push eax
push edi
call fcn.1001b090
mov edx, dword [esp + 0x14]
xor ebx, ebx
mov ecx, edx
push 2
pop edi
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, edi
cmp ax, bx
jne 0x100fe6cf
sub ecx, esi
mov esi, dword [esp + 0x18]
sar ecx, 1
add esi, 2
add esi, ecx
mov dword [esp + 0x18], esi
lea edi, [edx + ecx*2]
mov dword [esp + 0x14], edi
test edi, edi
je 0x100fe722
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ee80]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ee84]
mov word [eax + 4], cx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add edi, 4
mov dword [esp + 0x14], edi
mov edx, dword [esp + 0x1c]
jmp 0x100fe72d
push 0xd
pop eax
add esi, eax
add esi, 3
mov ebx, edi
mov dword [esp + 0x18], esi
test edi, edi
je 0x100fe769
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ed1c]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000ed20]
mov dword [eax + 4], ecx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add edi, 6
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
mov eax, ebp
mov ecx, edi
sub eax, esi
neg ecx
sbb ecx, ecx
xor esi, esi
push esi
push esi
and ecx, eax
lea eax, [esp + 0x40]
push eax
lea eax, [ecx + ecx]
push eax
push edi
push dword [edx + 0x68]
push dword [edx + 0x10]
push dword [edx + 8]
call fcn.1003cb60
test eax, eax
js 0x1010088a
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100fe7d4
cmp eax, 0x3ee
je 0x100fe8a4
cmp eax, 0x3ec
jne 0x100fe7c2
xor eax, eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x14], ebx
mov word [ebx], ax
jmp 0x100fe7d4
mov eax, dword [esp + 0x38]
shr eax, 1
lea eax, [ecx + eax*2]
xor ecx, ecx
mov dword [esp + 0x14], eax
mov word [eax], cx
mov eax, dword [esp + 0x38]
xor ebx, ebx
push esi
inc ebx
shr eax, 1
add dword [esp + 0x1c], eax
push ebx
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.1003c7d0
test eax, eax
jne 0x100fe8ae
push esi
push esi
lea eax, [esp + 0x60]
push eax
push ebx
lea eax, [esp + 0x23]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x5c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x13], al
cmp al, 2
jne 0x100fe8ae
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push 2
pop eax
add esi, eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x100fe877
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000eef8]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000eefc]
mov word [eax + 4], cx
mov edi, dword [esp + 0x14]
add edi, 4
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x94]
push eax
push dword [ecx + 0x60]
lea eax, [esp + 0x20]
push ebp
push eax
push edi
push ecx
call fcn.100fe03f
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
push 2
pop esi
jmp 0x100fe417
mov eax, 0xfffff401
jmp 0x1010088a
mov esi, dword [esp + 0x3c]
cmp dword [esp + 0x40], 0
jne 0x100fe8bd
test esi, esi
je 0x100fe8f1
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 3
mov dword [esp + 0x18], esi
test edi, edi
je 0x100fe8f1
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ef00]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000ef04]
mov dword [eax + 4], ecx
add dword [esp + 0x14], 6
push 3
push dword [esp + 0x20]
xor esi, esi
mov dword [esp + 0x28], esi
call fcn.101008ba
mov ebx, eax
test ebx, ebx
je 0x100fe919
cmp ebx, 0xfffff9bf
jne 0x100fe1a1
push 2
pop edi
jmp 0x100fe958
push esi
push esi
lea eax, [esp + 0x60]
push eax
push 2
pop edi
push edi
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x6c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov dword [esp + 0x20], eax
push 1
push dword [esp + 0x20]
mov dword [esp + 0x34], esi
call fcn.101008ba
mov ebx, eax
test ebx, ebx
je 0x100fe97e
cmp ebx, 0xfffff9bf
jne 0x100fe1a1
jmp case.default.0x100fe9c7
push esi
push esi
lea eax, [esp + 0x60]
push eax
push edi
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x6c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov eax, dword [esp + 0x2c]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov dword [esp + 0x2c], eax
cwde
add eax, 0xfffffffd
cmp eax, 8
ja case.default.0x100fe9c7
jmp dword [eax*4 + 0x10100896]
push esi
push ebp
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x20]
push dword [esp + 0x2c]
call fcn.100fdf04
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edx, edx
je 0x100fea05
mov eax, dword [ecx + 0xa4]
lea eax, [edx + eax*2]
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x78]
lea eax, [esp + 0x60]
push esi
push esi
mov esi, dword [esp + 0x7c]
push eax
lea eax, [edi + edi]
push eax
push esi
push dword [ecx + 0x60]
push dword [ecx + 0x10]
push dword [ecx + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x1c]
shr ecx, 1
mov dword [eax + 0x94], ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0x94]
test ecx, ecx
je 0x100fea8f
test esi, esi
je 0x100fea61
lea eax, [edi - 1]
cmp ecx, eax
cmovb eax, ecx
xor ecx, ecx
mov word [esi + eax*2], cx
mov ecx, dword [esp + 0x7c]
test ecx, ecx
je 0x100fea72
mov eax, dword [edx + 0x94]
inc eax
mov dword [ecx], eax
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x100fea9b
push 0xa
xor eax, eax
pop edx
cmp word [esp + 0x2c], dx
sete al
inc eax
mov dword [ecx], eax
jmp 0x100fea9b
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x100fea9b
xor ecx, ecx
mov dword [eax], ecx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
jmp 0x10100871
push 5
push dword [esp + 0x20]
call fcn.101008ba
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
push esi
push ebp
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x20]
push dword [esp + 0x2c]
call fcn.100fdf04
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edi, edi
je 0x100feaf4
mov eax, dword [ecx + 0xa4]
lea edi, [edi + eax*2]
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x18]
add esi, 6
mov dword [esp + 0x18], esi
test edi, edi
je 0x100feb28
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000ec58
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add edi, 0xc
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
test byte [esp + 0x20], 2
jne 0x100feb54
add esi, 4
mov dword [esp + 0x18], esi
test edi, edi
je 0x100feb54
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000ec68
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
add dword [esp + 0x14], 8
mov ecx, dword [esp + 0x1c]
xor esi, esi
push esi
push 1
push dword [ecx + 0x10]
push dword [ecx + 8]
call fcn.1003c7d0
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
push esi
push ebp
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x20]
jmp 0x10100181
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push 0xa
pop eax
add esi, eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x100febac
cmp esi, ebp
jae 0x100fe309
push 5
pop ecx
mov esi, 0x1000ec7c
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
add dword [esp + 0x14], 0x14
push 6
push dword [esp + 0x20]
call fcn.101008ba
mov ebx, eax
test ebx, ebx
je 0x100febd2
cmp ebx, 0xfffff9bf
jne 0x100fe1a1
mov edi, dword [esp + 0x14]
jmp 0x100fed3c
xor edi, edi
xor esi, esi
inc edi
push esi
push esi
lea eax, [esp + 0x60]
push eax
push edi
lea eax, [esp + 0x23]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x5c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
movzx eax, byte [esp + 0x13]
xor ecx, ecx
push esi
push esi
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x1b], al
lea eax, [esp + 0x5c]
push eax
push 2
pop eax
push eax
lea eax, [esp + 0x90]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x6c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov eax, dword [esp + 0x80]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
and eax, 0x7fff
cmp byte [esp + 0x13], 6
mov dword [esp + 0x80], eax
jne 0x100fe1a1
test ax, ax
je 0x100fec8f
push esi
push edi
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.1003c7d0
mov ebx, eax
test ebx, ebx
je 0x100febd7
jmp 0x100fe1a1
push 0x1000f0a0
push ebp
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x20]
push dword [esp + 0x2c]
call fcn.100fdf04
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edi, edi
je 0x100fecca
mov eax, dword [ecx + 0xa4]
lea edi, [edi + eax*2]
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x18], esi
test edi, edi
je 0x100fecf9
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000eda0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
add edi, 8
mov dword [esp + 0x14], edi
lea eax, [ecx + 0x94]
push eax
push dword [ecx + 0x60]
lea eax, [esp + 0x20]
push ebp
push eax
push edi
push ecx
call fcn.100fe03f
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edi, dword [esp + 0x14]
test edi, edi
je 0x100fed3c
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x94]
test eax, eax
je 0x100fed35
lea edi, [edi + eax*2]
jmp 0x100fed38
sub edi, 8
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x18]
add esi, 9
mov dword [esp + 0x18], esi
test edi, edi
je 0x100fed62
cmp esi, ebp
jae 0x100fe309
push 5
pop ecx
mov esi, 0x1000ec94
rep movsd dword es:[edi], dword [esi]
add dword [esp + 0x14], 0x12
push 6
push dword [esp + 0x20]
call fcn.101008ba
mov ebx, eax
test ebx, ebx
je 0x100fed84
cmp ebx, 0xfffff9bf
jne 0x100fe1a1
jmp 0x100fef1d
xor esi, esi
push esi
push esi
lea eax, [esp + 0x60]
push eax
push 1
lea eax, [esp + 0x23]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x5c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x13], al
cmp al, 6
jne 0x100fef1d
push esi
push esi
lea eax, [esp + 0x5c]
push eax
push 2
pop edi
push edi
lea eax, [esp + 0x90]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x6c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov eax, dword [esp + 0x80]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
and eax, 0x7fff
mov dword [esp + 0x80], eax
cmp ax, di
jne 0x100fef05
push 0x1000f004
push ebp
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x20]
push dword [esp + 0x2c]
call fcn.100fdf04
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edi, edi
je 0x100fee5d
mov eax, dword [ecx + 0xa4]
lea edi, [edi + eax*2]
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x18], esi
test edi, edi
je 0x100fee8c
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000eda0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
add edi, 8
mov dword [esp + 0x14], edi
lea eax, [ecx + 0x94]
push eax
push dword [ecx + 0x60]
lea eax, [esp + 0x20]
push ebp
push eax
push edi
push ecx
call fcn.100fe03f
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edi, dword [esp + 0x14]
test edi, edi
je 0x100feecf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x94]
test eax, eax
je 0x100feec8
lea edi, [edi + eax*2]
jmp 0x100feecb
sub edi, 8
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x18]
push 2
pop eax
add esi, eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x100fef03
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000eef8]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000eefc]
mov word [eax + 4], cx
add dword [esp + 0x14], 4
xor esi, esi
push esi
push 1
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.1003c7d0
test eax, eax
je 0x100fed86
mov eax, dword [esp + 0x14]
test eax, eax
je 0x100fef37
push 0xd
pop ecx
mov word [eax - 4], cx
mov eax, dword [esp + 0x14]
push 0xa
pop ecx
mov word [eax - 2], cx
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x18], 6
jmp 0x100ffd98
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 0xc
mov dword [esp + 0x18], esi
test edi, edi
je 0x100fef77
cmp esi, ebp
jae 0x100fe309
push 0x1a
push 0x1000ecd8
push edi
call fcn.101175c0
add esp, 0xc
add dword [esp + 0x14], 0x18
xor edi, edi
lea eax, [esp + 0x18]
push edi
push edi
push ebp
push eax
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x30]
call fcn.100fd1e4
test eax, eax
js 0x1010088a
test byte [esp + 0x20], 0x80
mov esi, edi
je 0x100fefe1
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 0xf
mov dword [esp + 0x18], esi
test edi, edi
je 0x101007e8
cmp esi, ebp
jae 0x100fe309
push 0x20
pop eax
push eax
push 0x1000eea8
push edi
call fcn.101175c0
mov edi, dword [esp + 0x20]
add esp, 0xc
add edi, 0x1e
mov dword [esp + 0x14], edi
jmp 0x10100789
push 6
push dword [esp + 0x20]
call fcn.101008ba
mov ebx, eax
test ebx, ebx
je 0x100ff003
cmp ebx, 0xfffff9bf
jne 0x100fe1a1
jmp 0x100ff231
mov dword [esp + 0x28], edi
xor eax, eax
push eax
push ebp
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x20]
push dword [esp + 0x2c]
call fcn.100fdf04
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
test ecx, ecx
je 0x100ff054
mov eax, dword [edx + 0xa4]
push 2
pop ebx
cmp eax, ebx
jb 0x100ff054
cmp word [ecx + eax*2 - 2], 0x2a
jne 0x100ff054
cmp word [ecx + eax*2 - 4], 0x2e
je 0x100ff182
lea eax, [edx + 0x9c]
push eax
push dword [edx + 0x64]
lea eax, [esp + 0x20]
push ebp
push eax
push ecx
push edx
call fcn.100fe03f
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp dword [ecx + 0x9c], eax
jne 0x100ff0cb
test edi, edi
jne 0x100ff182
lea eax, [ecx + 0x94]
push eax
push dword [ecx + 0x60]
lea eax, [esp + 0x20]
push ebp
push eax
push dword [esp + 0x24]
push ecx
call fcn.100fe03f
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov eax, dword [esp + 0x1c]
xor ecx, ecx
cmp dword [eax + 0x94], ecx
jne 0x100ff184
inc edi
mov dword [esp + 0x28], edi
jmp 0x100ff184
mov edi, dword [esp + 0x14]
test esi, esi
mov esi, dword [esp + 0x18]
jne 0x100ff107
add esi, 3
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff141
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ee78]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000ee7c]
mov dword [eax + 4], ecx
mov edi, dword [esp + 0x14]
add edi, 6
jmp 0x100ff139
push 2
pop eax
add esi, eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff141
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000eef8]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000eefc]
mov word [eax + 4], cx
mov edi, dword [esp + 0x14]
add edi, 4
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
lea eax, [ecx + 0x9c]
push eax
push dword [ecx + 0x64]
lea eax, [esp + 0x20]
push ebp
push eax
push edi
push ecx
call fcn.100fe03f
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100ff17b
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x9c]
lea eax, [ecx + eax*2]
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x28]
xor esi, esi
inc esi
xor ecx, ecx
push ecx
push 1
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.1003c7d0
mov ebx, eax
test ebx, ebx
js 0x100ff1e7
xor eax, eax
push eax
push eax
lea eax, [esp + 0x88]
push eax
push 1
lea eax, [esp + 0x23]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x5c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x13], al
cmp al, 6
je 0x100ff007
jmp 0x100ff1f3
cmp ebx, 0xfffff9bd
jne 0x100fe1a1
test esi, esi
je 0x100ff22f
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push 2
pop eax
add esi, eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff22f
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ee80]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ee84]
mov word [eax + 4], cx
add dword [esp + 0x14], 4
xor edi, edi
push 1
push dword [esp + 0x20]
call fcn.101008ba
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x9c]
push eax
push dword [ecx + 0x64]
lea eax, [esp + 0x20]
push ebp
push eax
push dword [esp + 0x24]
push ecx
call fcn.100fe03f
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x9c], edi
je 0x100ff29b
push edi
push 0x1000ed10
push ebp
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x24]
push ecx
push eax
call fcn.100fcc67
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push 2
pop eax
add esi, eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff2d3
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ef08]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef0c]
mov word [eax + 4], cx
add dword [esp + 0x14], 4
xor esi, esi
push 6
push dword [esp + 0x20]
mov dword [esp + 0x88], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
call fcn.101008ba
mov ebx, eax
test ebx, ebx
je 0x100ff6d7
cmp ebx, 0xfffff9bf
jne 0x100fe1a1
test byte [esp + 0x20], 1
jne 0x100ff6c2
push 5
pop eax
cmp word [esp + 0x2c], ax
je 0x100ff6c2
mov dword [esp + 0x38], 1
jmp 0x100ff6ca
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 7
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff2d3
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000ed24
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add dword [esp + 0x14], 0xe
jmp 0x100ff2d3
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 7
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff394
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000ed34
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add edi, 0xe
mov dword [esp + 0x14], edi
test byte [esp + 0x20], 8
je 0x100ff3c3
add esi, 0xc
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff3c3
cmp esi, ebp
jae 0x100fe309
push 0x1a
push 0x1000ed84
push edi
call fcn.101175c0
add esp, 0xc
add dword [esp + 0x14], 0x18
push ebp
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x28]
push dword [esp + 0x44]
call fcn.100fd369
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 5
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff40f
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000ed44
push 0xa
pop eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add dword [esp + 0x14], eax
push 6
push dword [esp + 0x20]
call fcn.101008ba
mov ebx, eax
test ebx, ebx
je 0x100ff46d
cmp ebx, 0xfffff9bf
jne 0x100fe1a1
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push 2
pop eax
add esi, eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffe3d
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ef08]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef0c]
mov word [eax + 4], cx
add dword [esp + 0x14], 4
jmp 0x100ffe3d
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x9c]
push eax
push dword [ecx + 0x64]
lea eax, [esp + 0x20]
push ebp
push eax
push dword [esp + 0x24]
jmp 0x100ff5c9
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edi, edi
je 0x100ff4a3
mov eax, dword [ecx + 0x9c]
lea edi, [edi + eax*2]
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x18]
add esi, 3
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff4dd
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ed1c]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000ed20]
mov dword [eax + 4], ecx
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
add edi, 6
mov dword [esp + 0x14], edi
push 0x1000efec
push ebp
lea eax, [esp + 0x20]
push eax
push edi
push ecx
call fcn.100fdf04
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100ff512
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xa4]
lea eax, [ecx + eax*2]
mov dword [esp + 0x14], eax
xor ebx, ebx
xor esi, esi
push ebx
inc esi
push esi
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.1003c7d0
test eax, eax
jne 0x100ff42c
push ebx
push ebx
lea eax, [esp + 0x88]
push eax
push esi
lea eax, [esp + 0x23]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x5c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x13], al
cmp al, 6
jne 0x100ff42c
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push 2
pop eax
add esi, eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff5b4
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000eef8]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000eefc]
mov word [eax + 4], cx
mov edi, dword [esp + 0x14]
add edi, 4
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x9c]
push eax
push dword [ecx + 0x64]
lea eax, [esp + 0x20]
push ebp
push eax
push edi
push ecx
call fcn.100fe03f
mov ebx, eax
test ebx, ebx
jns 0x100ff48a
jmp 0x100fe1a1
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 8
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff611
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000eec8
push 0x10
pop eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [esp + 0x14]
add edi, eax
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x94]
push eax
push dword [ecx + 0x60]
lea eax, [esp + 0x20]
push ebp
push eax
push edi
push ecx
call fcn.100fe03f
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edi, edi
je 0x100ff64f
mov eax, dword [ecx + 0x94]
lea edi, [edi + eax*2]
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x18]
inc esi
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff67c
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ee90]
mov dword [edi], eax
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push 2
pop eax
add edi, eax
mov dword [esp + 0x14], edi
xor esi, esi
lea eax, [esp + 0x18]
push esi
push ebp
push eax
push edi
push ecx
call fcn.100fdf04
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edi, dword [esp + 0x14]
test edi, edi
je 0x100ff6af
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xa4]
lea edi, [edi + eax*2]
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x100fea9f
mov dword [eax], esi
jmp 0x100fea9f
mov dword [esp + 0x40], 1
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x28]
jmp 0x100ff737
push esi
push esi
lea eax, [esp + 0x60]
push eax
push 2
pop eax
push eax
lea eax, [esp + 0x90]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x6c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov ecx, dword [esp + 0x80]
xor eax, eax
cmp ebx, 0x3ec
cmove ecx, eax
mov edx, ecx
and edx, 0x8000
and ecx, 0x7fff
mov eax, ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
push 5
pop eax
cmp word [esp + 0x2c], ax
je 0x100ff7ab
test edx, edx
je 0x100ff779
add esi, 8
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff7ab
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000ee94
push 0x10
pop eax
push 5
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [esp + 0x18]
add edi, eax
pop eax
jmp 0x100ff79c
add esi, 7
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff7ab
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000eca8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
add edi, 0xe
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], edi
test cx, cx
jne 0x100ff919
test byte [esp + 0x20], 2
je 0x100ff7e0
add esi, 9
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff819
cmp esi, ebp
jae 0x100fe309
mov ecx, eax
mov esi, 0x1000ed50
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
add edi, 0x12
jmp 0x100ff811
test byte [esp + 0x20], 8
je 0x100ff819
add esi, 0xc
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff819
cmp esi, ebp
jae 0x100fe309
push 0x1a
push 0x1000ed84
push edi
call fcn.101175c0
mov edi, dword [esp + 0x20]
add esp, 0xc
add edi, 0x18
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], edi
test byte [esp + 0x20], 0x10
je 0x100ff919
add esi, 4
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff845
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000ed64
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
add dword [esp + 0x14], 8
push 3
push dword [esp + 0x20]
call fcn.101008ba
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x94]
push eax
push dword [ecx + 0x60]
lea eax, [esp + 0x20]
push ebp
push eax
push dword [esp + 0x24]
push ecx
call fcn.100fe03f
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edi, dword [esp + 0x14]
test edi, edi
je 0x100ff89b
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x94]
lea edi, [edi + eax*2]
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x18]
inc esi
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff8c8
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ee90]
mov dword [edi], eax
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
push 2
pop eax
add edi, eax
mov dword [esp + 0x14], edi
test byte [esp + 0x20], 0x20
je 0x100ff8f4
add esi, 8
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff8f4
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000ed70
push 0x10
pop eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
add dword [esp + 0x14], eax
push 6
push dword [esp + 0x20]
call fcn.101008ba
mov ebx, eax
test ebx, ebx
je 0x100ff911
cmp ebx, 0xfffff9bf
jne 0x100fe1a1
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x40], 0
jne 0x100ffc2f
cmp dword [esp + 0x38], 0
jne 0x100ffc5f
xor eax, eax
push 0x1000f004
push ebp
lea eax, [esp + 0x20]
push eax
push edi
push dword [esp + 0x2c]
call fcn.100fdf04
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edi, edi
je 0x100ff969
mov eax, dword [ecx + 0xa4]
lea edi, [edi + eax*2]
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff998
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000eda0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
add edi, 8
mov dword [esp + 0x14], edi
lea eax, [ecx + 0x94]
push eax
push dword [ecx + 0x60]
lea eax, [esp + 0x20]
push ebp
push eax
push edi
push ecx
call fcn.100fe03f
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100ff9df
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x94]
test eax, eax
je 0x100ff9d8
lea eax, [ecx + eax*2]
mov dword [esp + 0x14], eax
jmp 0x100ff9df
sub ecx, 8
mov dword [esp + 0x14], ecx
xor esi, esi
xor edi, edi
push esi
inc edi
push edi
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.1003c7d0
mov ebx, eax
test ebx, ebx
js 0x100ffadf
push esi
push esi
lea eax, [esp + 0x60]
push eax
push edi
lea eax, [esp + 0x23]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x5c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
movzx eax, byte [esp + 0x13]
xor ecx, ecx
push esi
push esi
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x1b], al
lea eax, [esp + 0x5c]
push eax
push 2
pop edi
push edi
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x6c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov eax, dword [esp + 0x24]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov ecx, eax
and eax, 0x7fff
and ecx, 0x8000
mov dword [esp + 0x24], eax
cmp byte [esp + 0x13], 6
mov dword [esp + 0x28], ecx
jne 0x100ffaf3
cmp ax, word [esp + 0x80]
jne 0x100ffaf3
mov esi, dword [esp + 0x18]
add esi, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff931
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000eef8]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000eefc]
mov word [eax + 4], cx
mov edi, dword [esp + 0x14]
add edi, 4
mov dword [esp + 0x14], edi
jmp 0x100ff931
cmp ebx, 0xfffff9bd
jne 0x100fe1a1
mov eax, dword [esp + 0x24]
mov ebx, edi
jmp 0x100ffaf5
mov ebx, esi
mov edi, dword [esp + 0x14]
cmp word [esp + 0x80], si
jne 0x100ffb63
cmp dword [esp + 0x3c], esi
mov esi, dword [esp + 0x18]
jne 0x100ffb4e
test byte [esp + 0x20], 1
je 0x100ffb4e
add esi, 3
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffb4e
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ecd0]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000ecd4]
mov dword [eax + 4], ecx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add edi, 6
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], edi
cmp word [esp + 0x80], 0
mov dword [esp + 0x3c], 1
je 0x100ffbde
jmp 0x100ffb67
mov esi, dword [esp + 0x18]
add esi, 0xc
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffbde
cmp esi, ebp
jae 0x100fe309
push 0x1a
push 0x1000eedc
push edi
call fcn.101175c0
mov edi, dword [esp + 0x20]
add esp, 0xc
add edi, 0x18
mov dword [esp + 0x14], edi
je 0x100ffbd6
mov eax, dword [esp + 0x80]
push 0xa
pop ecx
cmp ax, cx
jae 0x100ffbaf
add eax, 0x30
mov word [edi - 8], ax
jmp 0x100ffbd2
movzx eax, ax
cdq
idiv ecx
add eax, 0x30
mov word [edi - 0xa], ax
movzx eax, word [esp + 0x80]
cdq
idiv ecx
mov eax, dword [esp + 0x14]
add edx, 0x30
mov word [eax - 8], dx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
cmp byte [esp + 0x13], 6
jne 0x100ffbfc
test ebx, ebx
jne 0x100ffbfc
mov edx, dword [esp + 0x28]
movzx ecx, ax
mov dword [esp + 0x80], ecx
jmp 0x100ff73f
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100ffc2f
inc esi
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffc2f
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ee74]
mov dword [edi], eax
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
push 2
pop ecx
add edi, ecx
mov dword [esp + 0x14], edi
jmp 0x100ffc32
push 2
pop ecx
cmp dword [esp + 0x3c], 0
jne 0x100ffc5f
inc esi
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffc5f
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000eccc]
mov dword [edi], eax
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add edi, ecx
mov dword [esp + 0x14], edi
push 2
pop eax
cmp word [esp + 0x2c], ax
jne 0x100ffd6b
push 1
push dword [esp + 0x20]
call fcn.101008ba
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 6
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffcb2
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000ecf4
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [esp + 0x14]
add edi, 0xc
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x9c]
push eax
push dword [ecx + 0x64]
lea eax, [esp + 0x20]
push ebp
push eax
push edi
push ecx
call fcn.100fe03f
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov ecx, dword [esp + 0x1c]
xor esi, esi
cmp dword [ecx + 0x9c], esi
je 0x100ffd45
lea eax, [ecx + 0x94]
push eax
push dword [ecx + 0x60]
lea eax, [esp + 0x20]
push ebp
push eax
push dword [esp + 0x24]
push ecx
call fcn.100fe03f
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
test ecx, ecx
je 0x100ffd22
mov eax, dword [edx + 0x94]
lea eax, [ecx + eax*2]
mov dword [esp + 0x14], eax
push esi
push 0x1000ed10
push ebp
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
push edx
call fcn.100fcc67
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
jmp 0x100ffd60
push esi
push esi
push ebp
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
push ecx
call fcn.100fd1e4
test eax, eax
js 0x1010088a
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push 2
pop eax
add esi, eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffd98
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ef08]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef0c]
mov word [eax + 4], cx
add dword [esp + 0x14], 4
push 5
pop edi
push edi
push dword [esp + 0x20]
call fcn.101008ba
test eax, eax
je 0x100ffdc8
push 7
push dword [esp + 0x20]
call fcn.101008ba
mov ebx, eax
test ebx, ebx
je 0x100ffdc8
cmp ebx, 0xfffff9bf
jne 0x100fe1a1
jmp 0x100ffe3d
mov esi, dword [esp + 0x18]
add esi, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffdf3
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000ed04
push 0xa
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
add dword [esp + 0x14], esi
jmp 0x100ffdf6
push 0xa
pop esi
push ebp
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x28]
push dword [esp + 0x44]
call fcn.100fd369
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edi, dword [esp + 0x14]
test edi, edi
je 0x100ffe3d
cmp word [edi - 2], si
je 0x100ffe38
mov esi, dword [esp + 0x18]
push 2
pop eax
add esi, eax
mov dword [esp + 0x18], esi
jmp 0x100ff445
add dword [esp + 0x18], 3
push 8
push dword [esp + 0x20]
call fcn.101008ba
mov ebx, eax
test ebx, ebx
je 0x100ffe5f
cmp ebx, 0xfffff9bf
jne 0x100fe1a1
jmp 0x100ffefb
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 6
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffe8f
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000edfc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [esp + 0x14]
add edi, 0xc
mov dword [esp + 0x14], edi
push 0x1000f058
push ebp
lea eax, [esp + 0x20]
push eax
push edi
push dword [esp + 0x2c]
call fcn.100fdf04
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edi, dword [esp + 0x14]
test edi, edi
je 0x100ffec7
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xa4]
lea edi, [edi + eax*2]
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x18]
push 2
pop eax
add esi, eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffefb
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ef08]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef0c]
mov word [eax + 4], cx
add dword [esp + 0x14], 4
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x18], 6
je 0x10100250
push 9
push eax
call fcn.101008ba
mov ebx, eax
test ebx, ebx
je 0x100fff28
cmp ebx, 0xfffff9bf
jne 0x100fe1a1
jmp 0x10100122
xor eax, eax
push eax
push eax
lea eax, [esp + 0x60]
push eax
push 2
pop eax
push eax
lea eax, [esp + 0x90]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x6c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov eax, dword [esp + 0x80]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
and eax, 0x7fff
mov dword [esp + 0x80], eax
jne 0x10100122
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 9
mov dword [esp + 0x18], esi
test edi, edi
je 0x101000ba
cmp esi, ebp
jae 0x100fe309
push 5
pop eax
mov ecx, eax
mov esi, 0x1000ee0c
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
add edi, 0x12
jmp 0x101000b6
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100fffcd
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xa4]
lea eax, [ecx + eax*2]
mov dword [esp + 0x14], eax
xor esi, esi
xor edi, edi
push esi
inc edi
push edi
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.1003c7d0
mov ebx, eax
test ebx, ebx
jne 0x101000de
push esi
push esi
lea eax, [esp + 0x60]
push eax
push edi
lea eax, [esp + 0x23]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x5c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x13], al
cmp al, 9
jne 0x101000ea
push esi
push esi
lea eax, [esp + 0x5c]
push eax
push 2
pop edi
push edi
lea eax, [esp + 0x90]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x6c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov eax, dword [esp + 0x80]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
and eax, 0x7fff
mov dword [esp + 0x80], eax
jne 0x101000ea
mov esi, dword [esp + 0x18]
add esi, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], esi
test edi, edi
je 0x101000ba
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000eef8]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000eefc]
mov word [eax + 4], cx
mov edi, dword [esp + 0x14]
add edi, 4
mov dword [esp + 0x14], edi
push 0x1000f074
push ebp
lea eax, [esp + 0x20]
push eax
push edi
push dword [esp + 0x2c]
call fcn.100fdf04
mov ebx, eax
test ebx, ebx
jns 0x100fffb4
jmp 0x100fe1a1
cmp ebx, 0xfffff9bd
jne 0x100fe1a1
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push 2
pop eax
add esi, eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100122
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ef08]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef0c]
mov word [eax + 4], cx
add dword [esp + 0x14], 4
push 0xa
pop esi
push esi
push dword [esp + 0x20]
call fcn.101008ba
mov ebx, eax
test ebx, ebx
je 0x10100146
cmp ebx, 0xfffff9bf
jne 0x100fe1a1
jmp 0x101001e4
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 7
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100175
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000ee20
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
add edi, 0xe
mov dword [esp + 0x14], edi
push 0x1000f058
push ebp
lea eax, [esp + 0x20]
push eax
push edi
push dword [esp + 0x2c]
call fcn.100fdf04
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edi, dword [esp + 0x14]
test edi, edi
je 0x101001ad
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xa4]
lea edi, [edi + eax*2]
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x18]
push 2
pop eax
add esi, eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x101001e1
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ef08]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef0c]
mov word [eax + 4], cx
add dword [esp + 0x14], 4
push 0xa
pop esi
push ebp
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x28]
call fcn.100fd009
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edi, dword [esp + 0x14]
test edi, edi
je 0x10100220
push 0xd
lea eax, [edi - 4]
pop ecx
cmp word [eax], cx
jne 0x10100220
cmp word [edi - 2], si
cmove edi, eax
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x18]
add esi, 3
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100250
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ef00]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000ef04]
mov dword [eax + 4], ecx
add dword [esp + 0x14], 6
push 9
push dword [esp + 0x20]
call fcn.101008ba
mov ebx, eax
test ebx, ebx
je 0x10100276
cmp ebx, 0xfffff9bf
jne 0x100fe1a1
mov edi, dword [esp + 0x14]
jmp 0x10100604
xor esi, esi
xor edi, edi
mov dword [esp + 0x80], esi
inc edi
jmp 0x10100318
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x13], al
cmp al, 9
jne 0x10100785
push esi
push esi
lea eax, [esp + 0x60]
push eax
push 2
pop eax
push eax
lea eax, [esp + 0x90]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x6c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov eax, dword [esp + 0x80]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov dword [esp + 0x80], eax
test ax, ax
je 0x101002ff
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x18], 6
jne 0x10100346
cmp ax, di
jne 0x10100346
push esi
push edi
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.1003c7d0
mov ebx, eax
test ebx, ebx
js 0x10100779
push esi
push esi
lea eax, [esp + 0x54]
push eax
push edi
lea eax, [esp + 0x23]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x5c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
jns 0x10100287
jmp 0x100fe1a1
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 9
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100383
cmp esi, ebp
jae 0x100fe309
push 5
pop eax
mov ecx, eax
mov esi, 0x1000ee0c
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
add edi, 0x12
mov eax, dword [esp + 0x80]
mov dword [esp + 0x14], edi
push 0x1000f074
movzx eax, ax
push ebp
mov dword [esp + 0x30], eax
lea eax, [esp + 0x20]
push eax
push edi
push ecx
jmp 0x1010058d
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x101003b5
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xa4]
lea eax, [ecx + eax*2]
mov dword [esp + 0x14], eax
push 2
xor esi, esi
pop edi
push esi
xor eax, eax
inc eax
push eax
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.1003c7d0
mov ebx, eax
test ebx, ebx
jne 0x101004b9
push esi
push esi
lea eax, [esp + 0x60]
push eax
xor eax, eax
inc eax
push eax
lea eax, [esp + 0x23]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x5c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x13], al
cmp al, 9
jne 0x101004c5
push esi
push esi
lea eax, [esp + 0x5c]
push eax
push edi
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x6c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov ecx, dword [esp + 0x28]
xor eax, eax
cmp ebx, 0x3ec
cmove ecx, eax
mov dword [esp + 0x28], ecx
cmp cx, word [esp + 0x80]
je 0x10100479
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x18], 6
jne 0x101004c9
cmp cx, di
jne 0x101003ba
jmp 0x101004c9
mov esi, dword [esp + 0x18]
add esi, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], esi
test edi, edi
je 0x1010057d
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000eef8]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000eefc]
mov word [eax + 4], cx
mov edi, dword [esp + 0x14]
add edi, 4
jmp 0x10100579
cmp ebx, 0xfffff9bd
jne 0x100fe1a1
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x18], 6
je 0x101005c9
cmp word [esp + 0x80], si
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
je 0x1010053b
add esi, 0xc
mov dword [esp + 0x18], esi
test edi, edi
je 0x1010053b
cmp esi, ebp
jae 0x100fe309
push 0x1a
push 0x1000eedc
push edi
call fcn.101175c0
mov edi, dword [esp + 0x20]
add esp, 0xc
add edi, 0x18
mov dword [esp + 0x14], edi
je 0x10100533
mov eax, dword [esp + 0x80]
push 0xa
pop ecx
cmp ax, cx
jae 0x101005a1
add eax, 0x30
mov word [edi - 8], ax
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
cmp cx, word [esp + 0x80]
je 0x10100608
add esi, 9
movzx eax, cx
mov dword [esp + 0x80], eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x1010057d
cmp esi, ebp
jae 0x100fe309
push 5
pop eax
mov ecx, eax
mov esi, 0x1000ee0c
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
add edi, 0x12
mov dword [esp + 0x14], edi
push 0x1000f074
push ebp
lea eax, [esp + 0x20]
push eax
push edi
push dword [esp + 0x2c]
call fcn.100fdf04
mov ebx, eax
test ebx, ebx
jns 0x1010039c
jmp 0x100fe1a1
movzx eax, ax
cdq
idiv ecx
add eax, 0x30
mov word [edi - 0xa], ax
movzx eax, word [esp + 0x80]
cdq
idiv ecx
mov eax, dword [esp + 0x14]
add edx, 0x30
mov word [eax - 8], dx
jmp 0x1010052f
mov esi, dword [esp + 0x18]
add esi, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100608
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000ef08]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef0c]
mov word [eax + 4], cx
mov edi, dword [esp + 0x14]
add edi, 4
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x18], 6
jne 0x1010078d
push ebp
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x1c]
push ecx
push eax
call fcn.100fd009
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 6
mov dword [esp + 0x18], esi
test edi, edi
je 0x1010065b
cmp esi, ebp
jae 0x100fe309
mov esi, 0x1000ee54
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
add dword [esp + 0x14], 0xc
push 6
push dword [esp + 0x20]
call fcn.101008ba
mov ebx, eax
test ebx, ebx
je 0x10100677
cmp ebx, 0xfffff9bf
jmp 0x1010077f
xor edi, edi
xor esi, esi
inc edi
push esi
push esi
lea eax, [esp + 0x60]
push eax
push edi
lea eax, [esp + 0x23]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x5c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
movzx eax, byte [esp + 0x13]
xor ecx, ecx
push esi
push esi
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x1b], al
lea eax, [esp + 0x5c]
push eax
push 2
pop eax
push eax
lea eax, [esp + 0x90]
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 0x6c]
push dword [eax + 0x10]
push dword [eax + 8]
call fcn.1003cb60
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov eax, dword [esp + 0x80]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
and eax, 0x7fff
cmp byte [esp + 0x13], 6
mov dword [esp + 0x80], eax
jne 0x100fe1a1
cmp ax, di
je 0x10100734
push esi
push edi
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.1003c7d0
mov ebx, eax
test ebx, ebx
je 0x1010067c
jmp 0x100fe1a1
push 0x1000f0b0
push ebp
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x20]
push dword [esp + 0x2c]
call fcn.100fdf04
mov ebx, eax
test ebx, ebx
js 0x100fe1a1
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
test edi, edi
je 0x101007e8
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xa4]
lea edi, [edi + eax*2]
mov dword [esp + 0x14], edi
jmp 0x1010078d
cmp ebx, 0xfffff9bd
jne 0x100fe1a1
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
test edi, edi
je 0x101007e8
mov edx, dword [esp + 0x68]
push 0x3b
pop ebx
cmp edi, edx
jbe 0x101007a9
lea eax, [edi - 2]
cmp word [eax], bx
cmove edi, eax
mov dword [esp + 0x14], edi
push 0xd
pop ebp
cmp edi, edx
jbe 0x101007c5
movzx eax, word [edi - 2]
cmp ax, word [esp + 0x50]
je 0x101007c0
cmp ax, bx
jne 0x101007c5
add edi, 0xfffffffe
jmp 0x101007de
lea eax, [edx + 2]
cmp edi, eax
jbe 0x101007e4
cmp word [edi - 4], bp
jne 0x101007e4
push 0xa
pop ecx
cmp word [edi - 2], cx
jne 0x101007e4
add edi, 0xfffffffc
mov dword [esp + 0x14], edi
jmp 0x101007ac
mov ebp, dword [esp + 0x6c]
test byte [esp + 0x20], 4
je 0x1010081b
add esi, 0x1c
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100851
cmp esi, ebp
jae 0x100fe309
push 0x3a
push 0x1000edb4
push edi
call fcn.101175c0
mov edi, dword [esp + 0x20]
add esp, 0xc
add edi, 0x38
jmp 0x10100849
add esi, 3
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100851
cmp esi, ebp
jae 0x100fe309
mov eax, dword [0x1000edac]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000edb0]
mov dword [eax + 4], ecx
mov edi, dword [esp + 0x14]
add edi, 6
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x1010085d
xor ecx, ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x74]
test eax, eax
je 0x10100871
cmp dword [esp + 0x78], 0
jbe 0x10100871
xor ecx, ecx
mov word [eax], cx
xor eax, eax
mov ebx, eax
jmp 0x100fe1a9
lea eax, [esi + 1]
mov dword [ecx], eax
push dword [esp + 0x34]
call fcn.100ca159
mov eax, ebx
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x4c
ret 0x24