Function at 0x100febfc
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.100ca9f1
test eax, eax
js 0x10101379
push esi
lea eax, [esp + 0x1c]
push eax
push ebx
push 0xbc
push dword [esp + 0x40]
call fcn.100caafd
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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.10106f5b
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x20], 0xffffffff
jne 0x100fecba
mov ebx, 0xfffff111
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x1010136d
mov eax, dword [esp + 0x68]
test eax, eax
je 0x10101368
sub edi, eax
sar edi, 1
mov dword [ecx], edi
jmp 0x1010136d
push eax
call fcn.10105341
test eax, eax
js 0x10101378
mov dword [esp + 0x4c], 0xa
test edi, edi
je 0x100fee4d
movzx ecx, word [edi]
test cx, cx
je 0x100fee4d
mov esi, edi
xor ebx, ebx
lea edx, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, bx
jne 0x100feceb
sub esi, edx
sar esi, 1
lea eax, [esi + 0xe]
cmp eax, ebp
jb 0x100fed08
mov ebx, 0xfffff245
jmp 0x100fec8f
test esi, esi
je 0x100fedc9
push 0x5d
mov dword [esp + 0x34], 0x5b
mov edx, edi
pop eax
cmp cx, word [esp + 0x30]
jne 0x100fed35
cmp word [edi + esi*2 - 2], ax
jne 0x100fed50
push 2
pop eax
lea edx, [edi + 2]
mov ecx, eax
jmp 0x100fed37
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.1003a9f0
test eax, eax
jne 0x100fed70
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.100378e0
jmp 0x100fec8f
mov eax, dword [esp + 0x30]
cmp word [edi], ax
jne 0x100fed87
mov eax, dword [esp + 0x14]
push 0x5d
pop ecx
mov word [eax + esi*2 - 2], cx
jmp 0x100fedc9
lea ebx, [esi + esi]
add ebx, edi
cmp edi, ebx
jae 0x100fedc9
movzx edx, byte [edi]
mov ecx, edx
and ecx, reloc.OLEAUT32.dll_VariantInit
jns 0x100feda2
dec ecx
or ecx, 0xfffffff8
inc ecx
xor eax, eax
shr edx, 3
inc eax
shl eax, cl
test byte [edx + 0x1000eff8], al
jne 0x100fedbc
mov eax, 0x80
cmp word [edi], ax
jb 0x100fee01
push 2
pop eax
add edi, eax
cmp edi, ebx
jb 0x100fed90
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.10118700
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 0x100fee3c
cmp esi, ebp
jb 0x100fee2b
mov ebx, 0xfffff245
jmp 0x100fec97
mov edi, dword [esp + 0x68]
lea eax, [esi + esi]
push eax
push edi
lea eax, [edi + 2]
push eax
call fcn.10118700
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 0x100fedc9
push 5
pop ecx
mov esi, 0x1000ec98
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 0x100fee59
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.101013a8
push 0x20
pop edx
mov dword [esp + 0x50], edx
test eax, eax
je 0x100fee87
cmp eax, 0xfffff9bf
je 0x100ff3a0
jmp 0x10101378
test ebx, ebx
je 0x100feea5
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 0x100feee0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 0xb
mov dword [esp + 0x18], esi
test edi, edi
je 0x100feed5
cmp esi, ebp
jae 0x100fedf7
push 6
pop ecx
mov esi, 0x1000ecb0
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.100feb2d
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edx, edx
je 0x100fef1e
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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 0x100fef8d
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000bb64]
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.10101454
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 0x100fef9d
sub edx, eax
sar edx, 1
add esi, edx
mov dword [esp + 0x18], esi
test edi, edi
je 0x100fefe2
cmp esi, ebp
jae 0x100fedf7
lea esi, [edx + edx]
lea eax, [esi + 2]
push eax
push dword [esp + 0x4c]
push edi
call fcn.101180b0
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 0x100feffa
push 0xa
pop eax
cmp ax, cx
jne 0x100ff210
mov edx, dword [esp + 0x1c]
cmp dword [edx + 0x70], 0xffffffff
jne 0x100ff00f
mov eax, 0xff
mov dword [esp + 0x24], eax
jmp 0x100ff047
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x10101376
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 0x100ff0d8
test edi, edi
je 0x100ff0d0
cmp ebx, 0x3ec
je 0x100ff062
test eax, eax
jne 0x100ff06a
mov dword [esp + 0x24], 0xff
add esi, 3
mov dword [esp + 0x18], esi
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000eee8]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000eeec]
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.1001b110
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 0x100ff0c1
jmp 0x100ff1c7
add esi, 9
jmp 0x100ff21b
cmp ebx, 0x3ec
je 0x100ff21b
test edi, edi
je 0x100ff216
add esi, 3
mov dword [esp + 0x18], esi
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000eee8]
mov ebx, dword [esp + 0x68]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000eeec]
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.1001b110
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 0x100ff144
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 0x100ff194
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ec84]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ec88]
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.1001b110
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 0x100ff1bd
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 0x100ff210
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000eef0]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000eef4]
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 0x100ff21b
push 0xd
pop eax
add esi, eax
add esi, 3
mov ebx, edi
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff257
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ed8c]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000ed90]
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.1003cec0
test eax, eax
js 0x10101378
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100ff2c2
cmp eax, 0x3ee
je 0x100ff392
cmp eax, 0x3ec
jne 0x100ff2b0
xor eax, eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x14], ebx
mov word [ebx], ax
jmp 0x100ff2c2
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.1003cb30
test eax, eax
jne 0x100ff39c
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x13], al
cmp al, 2
jne 0x100ff39c
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 0x100ff365
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef68]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef6c]
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.100feb2d
mov ebx, eax
test ebx, ebx
js 0x100fec8f
push 2
pop esi
jmp 0x100fef05
mov eax, 0xfffff401
jmp 0x10101378
mov esi, dword [esp + 0x3c]
cmp dword [esp + 0x40], 0
jne 0x100ff3ab
test esi, esi
je 0x100ff3df
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 3
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff3df
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef70]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000ef74]
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.101013a8
mov ebx, eax
test ebx, ebx
je 0x100ff407
cmp ebx, 0xfffff9bf
jne 0x100fec8f
push 2
pop edi
jmp 0x100ff446
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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.101013a8
mov ebx, eax
test ebx, ebx
je 0x100ff46c
cmp ebx, 0xfffff9bf
jne 0x100fec8f
jmp case.default.0x100ff4b5
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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.0x100ff4b5
jmp dword [eax*4 + 0x10101384]
push esi
push ebp
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x20]
push dword [esp + 0x2c]
call fcn.100fe9f2
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edx, edx
je 0x100ff4f3
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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 0x100ff57d
test esi, esi
je 0x100ff54f
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 0x100ff560
mov eax, dword [edx + 0x94]
inc eax
mov dword [ecx], eax
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x100ff589
push 0xa
xor eax, eax
pop edx
cmp word [esp + 0x2c], dx
sete al
inc eax
mov dword [ecx], eax
jmp 0x100ff589
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x100ff589
xor ecx, ecx
mov dword [eax], ecx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
jmp 0x1010135f
push 5
push dword [esp + 0x20]
call fcn.101013a8
mov ebx, eax
test ebx, ebx
js 0x100fec8f
push esi
push ebp
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x20]
push dword [esp + 0x2c]
call fcn.100fe9f2
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edi, edi
je 0x100ff5e2
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 0x100ff616
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000ecc8
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 0x100ff642
add esi, 4
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ff642
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000ecd8
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.1003cb30
mov ebx, eax
test ebx, ebx
js 0x100fec8f
push esi
push ebp
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x20]
jmp 0x10100c6f
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 0x100ff69a
cmp esi, ebp
jae 0x100fedf7
push 5
pop ecx
mov esi, 0x1000ecec
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.101013a8
mov ebx, eax
test ebx, ebx
je 0x100ff6c0
cmp ebx, 0xfffff9bf
jne 0x100fec8f
mov edi, dword [esp + 0x14]
jmp 0x100ff82a
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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 0x100fec8f
test ax, ax
je 0x100ff77d
push esi
push edi
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.1003cb30
mov ebx, eax
test ebx, ebx
je 0x100ff6c5
jmp 0x100fec8f
push 0x1000f110
push ebp
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x20]
push dword [esp + 0x2c]
call fcn.100fe9f2
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edi, edi
je 0x100ff7b8
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 0x100ff7e7
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000ee10
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.100feb2d
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edi, dword [esp + 0x14]
test edi, edi
je 0x100ff82a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x94]
test eax, eax
je 0x100ff823
lea edi, [edi + eax*2]
jmp 0x100ff826
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 0x100ff850
cmp esi, ebp
jae 0x100fedf7
push 5
pop ecx
mov esi, 0x1000ed04
rep movsd dword es:[edi], dword [esi]
add dword [esp + 0x14], 0x12
push 6
push dword [esp + 0x20]
call fcn.101013a8
mov ebx, eax
test ebx, ebx
je 0x100ff872
cmp ebx, 0xfffff9bf
jne 0x100fec8f
jmp 0x100ffa0b
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x13], al
cmp al, 6
jne 0x100ffa0b
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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 0x100ff9f3
push 0x1000f074
push ebp
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x20]
push dword [esp + 0x2c]
call fcn.100fe9f2
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edi, edi
je 0x100ff94b
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 0x100ff97a
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000ee10
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.100feb2d
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edi, dword [esp + 0x14]
test edi, edi
je 0x100ff9bd
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x94]
test eax, eax
je 0x100ff9b6
lea edi, [edi + eax*2]
jmp 0x100ff9b9
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 0x100ff9f1
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef68]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef6c]
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.1003cb30
test eax, eax
je 0x100ff874
mov eax, dword [esp + 0x14]
test eax, eax
je 0x100ffa25
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 0x10100886
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 0xc
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffa65
cmp esi, ebp
jae 0x100fedf7
push 0x1a
push 0x1000ed48
push edi
call fcn.101180b0
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.100fdcd2
test eax, eax
js 0x10101378
test byte [esp + 0x20], 0x80
mov esi, edi
je 0x100ffacf
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 0xf
mov dword [esp + 0x18], esi
test edi, edi
je 0x101012d6
cmp esi, ebp
jae 0x100fedf7
push 0x20
pop eax
push eax
push 0x1000ef18
push edi
call fcn.101180b0
mov edi, dword [esp + 0x20]
add esp, 0xc
add edi, 0x1e
mov dword [esp + 0x14], edi
jmp 0x10101277
push 6
push dword [esp + 0x20]
call fcn.101013a8
mov ebx, eax
test ebx, ebx
je 0x100ffaf1
cmp ebx, 0xfffff9bf
jne 0x100fec8f
jmp 0x100ffd1f
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.100fe9f2
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
test ecx, ecx
je 0x100ffb42
mov eax, dword [edx + 0xa4]
push 2
pop ebx
cmp eax, ebx
jb 0x100ffb42
cmp word [ecx + eax*2 - 2], 0x2a
jne 0x100ffb42
cmp word [ecx + eax*2 - 4], 0x2e
je 0x100ffc70
lea eax, [edx + 0x9c]
push eax
push dword [edx + 0x64]
lea eax, [esp + 0x20]
push ebp
push eax
push ecx
push edx
call fcn.100feb2d
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp dword [ecx + 0x9c], eax
jne 0x100ffbb9
test edi, edi
jne 0x100ffc70
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.100feb2d
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov eax, dword [esp + 0x1c]
xor ecx, ecx
cmp dword [eax + 0x94], ecx
jne 0x100ffc72
inc edi
mov dword [esp + 0x28], edi
jmp 0x100ffc72
mov edi, dword [esp + 0x14]
test esi, esi
mov esi, dword [esp + 0x18]
jne 0x100ffbf5
add esi, 3
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffc2f
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000eee8]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000eeec]
mov dword [eax + 4], ecx
mov edi, dword [esp + 0x14]
add edi, 6
jmp 0x100ffc27
push 2
pop eax
add esi, eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffc2f
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef68]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef6c]
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.100feb2d
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100ffc69
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.1003cb30
mov ebx, eax
test ebx, ebx
js 0x100ffcd5
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x13], al
cmp al, 6
je 0x100ffaf5
jmp 0x100ffce1
cmp ebx, 0xfffff9bd
jne 0x100fec8f
test esi, esi
je 0x100ffd1d
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 0x100ffd1d
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000eef0]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000eef4]
mov word [eax + 4], cx
add dword [esp + 0x14], 4
xor edi, edi
push 1
push dword [esp + 0x20]
call fcn.101013a8
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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.100feb2d
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x9c], edi
je 0x100ffd89
push edi
push 0x1000ed80
push ebp
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x24]
push ecx
push eax
call fcn.100fd755
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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 0x100ffdc1
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef78]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef7c]
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.101013a8
mov ebx, eax
test ebx, ebx
je 0x101001c5
cmp ebx, 0xfffff9bf
jne 0x100fec8f
test byte [esp + 0x20], 1
jne 0x101001b0
push 5
pop eax
cmp word [esp + 0x2c], ax
je 0x101001b0
mov dword [esp + 0x38], 1
jmp 0x101001b8
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 7
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffdc1
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000ed94
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 0x100ffdc1
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 7
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffe82
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000eda4
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 0x100ffeb1
add esi, 0xc
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffeb1
cmp esi, ebp
jae 0x100fedf7
push 0x1a
push 0x1000edf4
push edi
call fcn.101180b0
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.100fde57
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 5
mov dword [esp + 0x18], esi
test edi, edi
je 0x100ffefd
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000edb4
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.101013a8
mov ebx, eax
test ebx, ebx
je 0x100fff5b
cmp ebx, 0xfffff9bf
jne 0x100fec8f
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 0x1010092b
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef78]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef7c]
mov word [eax + 4], cx
add dword [esp + 0x14], 4
jmp 0x1010092b
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 0x101000b7
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edi, edi
je 0x100fff91
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 0x100fffcb
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ed8c]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000ed90]
mov dword [eax + 4], ecx
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
add edi, 6
mov dword [esp + 0x14], edi
push 0x1000f05c
push ebp
lea eax, [esp + 0x20]
push eax
push edi
push ecx
call fcn.100fe9f2
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x10100000
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.1003cb30
test eax, eax
jne 0x100fff1a
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x13], al
cmp al, 6
jne 0x100fff1a
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 0x101000a2
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef68]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef6c]
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.100feb2d
mov ebx, eax
test ebx, ebx
jns 0x100fff78
jmp 0x100fec8f
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 8
mov dword [esp + 0x18], esi
test edi, edi
je 0x101000ff
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000ef38
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.100feb2d
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edi, edi
je 0x1010013d
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 0x1010016a
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef00]
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.100fe9f2
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edi, dword [esp + 0x14]
test edi, edi
je 0x1010019d
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 0x100ff58d
mov dword [eax], esi
jmp 0x100ff58d
mov dword [esp + 0x40], 1
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x28]
jmp 0x10100225
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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 0x10100299
test edx, edx
je 0x10100267
add esi, 8
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100299
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000ef04
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 0x1010028a
add esi, 7
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100299
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000ed18
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 0x10100407
test byte [esp + 0x20], 2
je 0x101002ce
add esi, 9
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100307
cmp esi, ebp
jae 0x100fedf7
mov ecx, eax
mov esi, 0x1000edc0
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
add edi, 0x12
jmp 0x101002ff
test byte [esp + 0x20], 8
je 0x10100307
add esi, 0xc
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100307
cmp esi, ebp
jae 0x100fedf7
push 0x1a
push 0x1000edf4
push edi
call fcn.101180b0
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 0x10100407
add esi, 4
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100333
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000edd4
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.101013a8
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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.100feb2d
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edi, dword [esp + 0x14]
test edi, edi
je 0x10100389
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 0x101003b6
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef00]
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 0x101003e2
add esi, 8
mov dword [esp + 0x18], esi
test edi, edi
je 0x101003e2
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000ede0
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.101013a8
mov ebx, eax
test ebx, ebx
je 0x101003ff
cmp ebx, 0xfffff9bf
jne 0x100fec8f
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x40], 0
jne 0x1010071d
cmp dword [esp + 0x38], 0
jne 0x1010074d
xor eax, eax
push 0x1000f074
push ebp
lea eax, [esp + 0x20]
push eax
push edi
push dword [esp + 0x2c]
call fcn.100fe9f2
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edi, edi
je 0x10100457
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 0x10100486
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000ee10
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.100feb2d
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x101004cd
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x94]
test eax, eax
je 0x101004c6
lea eax, [ecx + eax*2]
mov dword [esp + 0x14], eax
jmp 0x101004cd
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.1003cb30
mov ebx, eax
test ebx, ebx
js 0x101005cd
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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 0x101005e1
cmp ax, word [esp + 0x80]
jne 0x101005e1
mov esi, dword [esp + 0x18]
add esi, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], esi
test edi, edi
je 0x1010041f
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef68]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef6c]
mov word [eax + 4], cx
mov edi, dword [esp + 0x14]
add edi, 4
mov dword [esp + 0x14], edi
jmp 0x1010041f
cmp ebx, 0xfffff9bd
jne 0x100fec8f
mov eax, dword [esp + 0x24]
mov ebx, edi
jmp 0x101005e3
mov ebx, esi
mov edi, dword [esp + 0x14]
cmp word [esp + 0x80], si
jne 0x10100651
cmp dword [esp + 0x3c], esi
mov esi, dword [esp + 0x18]
jne 0x1010063c
test byte [esp + 0x20], 1
je 0x1010063c
add esi, 3
mov dword [esp + 0x18], esi
test edi, edi
je 0x1010063c
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ed40]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000ed44]
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 0x101006cc
jmp 0x10100655
mov esi, dword [esp + 0x18]
add esi, 0xc
mov dword [esp + 0x18], esi
test edi, edi
je 0x101006cc
cmp esi, ebp
jae 0x100fedf7
push 0x1a
push 0x1000ef4c
push edi
call fcn.101180b0
mov edi, dword [esp + 0x20]
add esp, 0xc
add edi, 0x18
mov dword [esp + 0x14], edi
je 0x101006c4
mov eax, dword [esp + 0x80]
push 0xa
pop ecx
cmp ax, cx
jae 0x1010069d
add eax, 0x30
mov word [edi - 8], ax
jmp 0x101006c0
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 0x101006ea
test ebx, ebx
jne 0x101006ea
mov edx, dword [esp + 0x28]
movzx ecx, ax
mov dword [esp + 0x80], ecx
jmp 0x1010022d
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1010071d
inc esi
mov dword [esp + 0x18], esi
test edi, edi
je 0x1010071d
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000eee4]
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 0x10100720
push 2
pop ecx
cmp dword [esp + 0x3c], 0
jne 0x1010074d
inc esi
mov dword [esp + 0x18], esi
test edi, edi
je 0x1010074d
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ed3c]
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 0x10100859
push 1
push dword [esp + 0x20]
call fcn.101013a8
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 6
mov dword [esp + 0x18], esi
test edi, edi
je 0x101007a0
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000ed64
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.100feb2d
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov ecx, dword [esp + 0x1c]
xor esi, esi
cmp dword [ecx + 0x9c], esi
je 0x10100833
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.100feb2d
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
test ecx, ecx
je 0x10100810
mov eax, dword [edx + 0x94]
lea eax, [ecx + eax*2]
mov dword [esp + 0x14], eax
push esi
push 0x1000ed80
push ebp
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
push edx
call fcn.100fd755
mov ebx, eax
test ebx, ebx
js 0x100fec8f
jmp 0x1010084e
push esi
push esi
push ebp
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
push ecx
call fcn.100fdcd2
test eax, eax
js 0x10101378
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 0x10100886
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef78]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef7c]
mov word [eax + 4], cx
add dword [esp + 0x14], 4
push 5
pop edi
push edi
push dword [esp + 0x20]
call fcn.101013a8
test eax, eax
je 0x101008b6
push 7
push dword [esp + 0x20]
call fcn.101013a8
mov ebx, eax
test ebx, ebx
je 0x101008b6
cmp ebx, 0xfffff9bf
jne 0x100fec8f
jmp 0x1010092b
mov esi, dword [esp + 0x18]
add esi, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], esi
test edi, edi
je 0x101008e1
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000ed74
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 0x101008e4
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.100fde57
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edi, dword [esp + 0x14]
test edi, edi
je 0x1010092b
cmp word [edi - 2], si
je 0x10100926
mov esi, dword [esp + 0x18]
push 2
pop eax
add esi, eax
mov dword [esp + 0x18], esi
jmp 0x100fff33
add dword [esp + 0x18], 3
push 8
push dword [esp + 0x20]
call fcn.101013a8
mov ebx, eax
test ebx, ebx
je 0x1010094d
cmp ebx, 0xfffff9bf
jne 0x100fec8f
jmp 0x101009e9
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 6
mov dword [esp + 0x18], esi
test edi, edi
je 0x1010097d
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000ee6c
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 0x1000f0c8
push ebp
lea eax, [esp + 0x20]
push eax
push edi
push dword [esp + 0x2c]
call fcn.100fe9f2
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edi, dword [esp + 0x14]
test edi, edi
je 0x101009b5
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 0x101009e9
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef78]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef7c]
mov word [eax + 4], cx
add dword [esp + 0x14], 4
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x18], 6
je 0x10100d3e
push 9
push eax
call fcn.101013a8
mov ebx, eax
test ebx, ebx
je 0x10100a16
cmp ebx, 0xfffff9bf
jne 0x100fec8f
jmp 0x10100c10
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov eax, dword [esp + 0x80]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
and eax, 0x7fff
mov dword [esp + 0x80], eax
jne 0x10100c10
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 9
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100ba8
cmp esi, ebp
jae 0x100fedf7
push 5
pop eax
mov ecx, eax
mov esi, 0x1000ee7c
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
add edi, 0x12
jmp 0x10100ba4
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x10100abb
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.1003cb30
mov ebx, eax
test ebx, ebx
jne 0x10100bcc
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x13], al
cmp al, 9
jne 0x10100bd8
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov eax, dword [esp + 0x80]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
and eax, 0x7fff
mov dword [esp + 0x80], eax
jne 0x10100bd8
mov esi, dword [esp + 0x18]
add esi, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100ba8
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef68]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef6c]
mov word [eax + 4], cx
mov edi, dword [esp + 0x14]
add edi, 4
mov dword [esp + 0x14], edi
push 0x1000f0e4
push ebp
lea eax, [esp + 0x20]
push eax
push edi
push dword [esp + 0x2c]
call fcn.100fe9f2
mov ebx, eax
test ebx, ebx
jns 0x10100aa2
jmp 0x100fec8f
cmp ebx, 0xfffff9bd
jne 0x100fec8f
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 0x10100c10
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef78]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef7c]
mov word [eax + 4], cx
add dword [esp + 0x14], 4
push 0xa
pop esi
push esi
push dword [esp + 0x20]
call fcn.101013a8
mov ebx, eax
test ebx, ebx
je 0x10100c34
cmp ebx, 0xfffff9bf
jne 0x100fec8f
jmp 0x10100cd2
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 7
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100c63
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000ee90
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 0x1000f0c8
push ebp
lea eax, [esp + 0x20]
push eax
push edi
push dword [esp + 0x2c]
call fcn.100fe9f2
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edi, dword [esp + 0x14]
test edi, edi
je 0x10100c9b
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 0x10100ccf
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef78]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef7c]
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.100fdaf7
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edi, dword [esp + 0x14]
test edi, edi
je 0x10100d0e
push 0xd
lea eax, [edi - 4]
pop ecx
cmp word [eax], cx
jne 0x10100d0e
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 0x10100d3e
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef70]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000ef74]
mov dword [eax + 4], ecx
add dword [esp + 0x14], 6
push 9
push dword [esp + 0x20]
call fcn.101013a8
mov ebx, eax
test ebx, ebx
je 0x10100d64
cmp ebx, 0xfffff9bf
jne 0x100fec8f
mov edi, dword [esp + 0x14]
jmp 0x101010f2
xor esi, esi
xor edi, edi
mov dword [esp + 0x80], esi
inc edi
jmp 0x10100e06
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x13], al
cmp al, 9
jne 0x10101273
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov eax, dword [esp + 0x80]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov dword [esp + 0x80], eax
test ax, ax
je 0x10100ded
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x18], 6
jne 0x10100e34
cmp ax, di
jne 0x10100e34
push esi
push edi
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.1003cb30
mov ebx, eax
test ebx, ebx
js 0x10101267
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.1003cec0
mov ebx, eax
test ebx, ebx
jns 0x10100d75
jmp 0x100fec8f
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 9
mov dword [esp + 0x18], esi
test edi, edi
je 0x10100e71
cmp esi, ebp
jae 0x100fedf7
push 5
pop eax
mov ecx, eax
mov esi, 0x1000ee7c
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 0x1000f0e4
movzx eax, ax
push ebp
mov dword [esp + 0x30], eax
lea eax, [esp + 0x20]
push eax
push edi
push ecx
jmp 0x1010107b
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x10100ea3
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.1003cb30
mov ebx, eax
test ebx, ebx
jne 0x10100fa7
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp ebx, 0x3ec
cmove eax, ecx
mov byte [esp + 0x13], al
cmp al, 9
jne 0x10100fb3
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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 0x10100f67
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x18], 6
jne 0x10100fb7
cmp cx, di
jne 0x10100ea8
jmp 0x10100fb7
mov esi, dword [esp + 0x18]
add esi, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], esi
test edi, edi
je 0x1010106b
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef68]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef6c]
mov word [eax + 4], cx
mov edi, dword [esp + 0x14]
add edi, 4
jmp 0x10101067
cmp ebx, 0xfffff9bd
jne 0x100fec8f
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x18], 6
je 0x101010b7
cmp word [esp + 0x80], si
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
je 0x10101029
add esi, 0xc
mov dword [esp + 0x18], esi
test edi, edi
je 0x10101029
cmp esi, ebp
jae 0x100fedf7
push 0x1a
push 0x1000ef4c
push edi
call fcn.101180b0
mov edi, dword [esp + 0x20]
add esp, 0xc
add edi, 0x18
mov dword [esp + 0x14], edi
je 0x10101021
mov eax, dword [esp + 0x80]
push 0xa
pop ecx
cmp ax, cx
jae 0x1010108f
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 0x101010f6
add esi, 9
movzx eax, cx
mov dword [esp + 0x80], eax
mov dword [esp + 0x18], esi
test edi, edi
je 0x1010106b
cmp esi, ebp
jae 0x100fedf7
push 5
pop eax
mov ecx, eax
mov esi, 0x1000ee7c
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
add edi, 0x12
mov dword [esp + 0x14], edi
push 0x1000f0e4
push ebp
lea eax, [esp + 0x20]
push eax
push edi
push dword [esp + 0x2c]
call fcn.100fe9f2
mov ebx, eax
test ebx, ebx
jns 0x10100e8a
jmp 0x100fec8f
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 0x1010101d
mov esi, dword [esp + 0x18]
add esi, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], esi
test edi, edi
je 0x101010f6
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ef78]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov cx, word [0x1000ef7c]
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 0x1010127b
push ebp
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x1c]
push ecx
push eax
call fcn.100fdaf7
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add esi, 6
mov dword [esp + 0x18], esi
test edi, edi
je 0x10101149
cmp esi, ebp
jae 0x100fedf7
mov esi, 0x1000eec4
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.101013a8
mov ebx, eax
test ebx, ebx
je 0x10101165
cmp ebx, 0xfffff9bf
jmp 0x1010126d
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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.1003cec0
mov ebx, eax
test ebx, ebx
js 0x100fec8f
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 0x100fec8f
cmp ax, di
je 0x10101222
push esi
push edi
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.1003cb30
mov ebx, eax
test ebx, ebx
je 0x1010116a
jmp 0x100fec8f
push 0x1000f120
push ebp
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x20]
push dword [esp + 0x2c]
call fcn.100fe9f2
mov ebx, eax
test ebx, ebx
js 0x100fec8f
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
test edi, edi
je 0x101012d6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xa4]
lea edi, [edi + eax*2]
mov dword [esp + 0x14], edi
jmp 0x1010127b
cmp ebx, 0xfffff9bd
jne 0x100fec8f
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
test edi, edi
je 0x101012d6
mov edx, dword [esp + 0x68]
push 0x3b
pop ebx
cmp edi, edx
jbe 0x10101297
lea eax, [edi - 2]
cmp word [eax], bx
cmove edi, eax
mov dword [esp + 0x14], edi
push 0xd
pop ebp
cmp edi, edx
jbe 0x101012b3
movzx eax, word [edi - 2]
cmp ax, word [esp + 0x50]
je 0x101012ae
cmp ax, bx
jne 0x101012b3
add edi, 0xfffffffe
jmp 0x101012cc
lea eax, [edx + 2]
cmp edi, eax
jbe 0x101012d2
cmp word [edi - 4], bp
jne 0x101012d2
push 0xa
pop ecx
cmp word [edi - 2], cx
jne 0x101012d2
add edi, 0xfffffffc
mov dword [esp + 0x14], edi
jmp 0x1010129a
mov ebp, dword [esp + 0x6c]
test byte [esp + 0x20], 4
je 0x10101309
add esi, 0x1c
mov dword [esp + 0x18], esi
test edi, edi
je 0x1010133f
cmp esi, ebp
jae 0x100fedf7
push 0x3a
push 0x1000ee24
push edi
call fcn.101180b0
mov edi, dword [esp + 0x20]
add esp, 0xc
add edi, 0x38
jmp 0x10101337
add esi, 3
mov dword [esp + 0x18], esi
test edi, edi
je 0x1010133f
cmp esi, ebp
jae 0x100fedf7
mov eax, dword [0x1000ee1c]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1000ee20]
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 0x1010134b
xor ecx, ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x74]
test eax, eax
je 0x1010135f
cmp dword [esp + 0x78], 0
jbe 0x1010135f
xor ecx, ecx
mov word [eax], cx
xor eax, eax
mov ebx, eax
jmp 0x100fec97
lea eax, [esi + 1]
mov dword [ecx], eax
push dword [esp + 0x34]
call fcn.100cac4a
mov eax, ebx
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x4c
ret 0x24