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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + 0xc]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, dword [edi + 8]
xor ebx, ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], ecx
cmp esi, ebx
jne 0x1009ffc5
cmp dword [edi + 0x7c], ebx
jne 0x1009ffba
mov edx, dword [edi]
test byte [edx + 0x50], 8
jne 0x1009ffba
mov byte [edi + 0x17], 1
push edi
call fcn.1002f4f0
add esp, 4
mov esi, eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x20]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x18]
movsx eax, word [edx + 0x22]
dec dword [edi + 0x38]
push 0x38
mov dword [esp + 0x3c], ecx
mov ecx, dword [edi + 0x38]
lea edx, [esp + 0x4c]
push ebx
push edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x30], ecx
call fcn.100ff5c0
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x64], eax
mov eax, dword [ecx + 0x30]
mov dword [esp + 0x60], edx
lea edx, [eax + 1]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x3c], edx
lea edx, [eax + 2]
add eax, 3
mov dword [esp + 0x84], eax
mov al, byte [ecx + 0x11]
add esp, 0xc
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0x68], edx
cmp al, 0x56
je 0x100a0096
cmp al, 0x5a
je 0x100a0065
mov dword [esp + 0x60], 2
jmp 0x100a00b4
call fcn.1009ed10
test eax, eax
jne 0x100a00b4
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x12], 0x58
jne 0x100a00ac
cmp byte [eax + 0x10], 0x59
je 0x100a00b4
mov edx, dword [eax + 0x1c]
mov eax, edi
call fcn.1009ff00
test eax, eax
je 0x100a00b4
mov dword [esp + 0x60], 3
jmp 0x100a00b4
cmp byte [ecx + 0x10], 0x59
je 0x100a00b4
mov edx, ecx
mov edx, dword [edx + 0x18]
mov eax, edi
call fcn.1009ff00
test eax, eax
je 0x100a00b4
mov dword [esp + 0x60], 1
mov eax, dword [edi + 0x2c]
mov edx, dword [esp + 0x28]
lea ecx, [eax + 1]
lea eax, [eax + edx + 1]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x34], eax
inc eax
mov dword [esp + 0x1c], ecx
mov dword [edi + 0x2c], eax
mov cl, byte [edx + 0x11]
mov dword [esp + 0x64], eax
cmp cl, 0x58
je 0x100a00e3
cmp cl, 0x56
jne 0x100a00eb
inc eax
mov dword [edi + 0x2c], eax
mov dword [esp + 0x10], eax
mov al, byte [edx + 0x12]
cmp al, 0x58
je 0x100a00f6
cmp al, 0x56
jne 0x100a0100
inc dword [edi + 0x2c]
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x14], eax
cmp byte [edx + 0x10], 0x4c
je 0x100a0156
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x100a0112
mov eax, dword [eax]
jmp 0x100a0114
xor eax, eax
mov ecx, dword [edx + 0x4c]
add ecx, dword [esp + 0x1c]
mov edx, dword [edx + 8]
mov dword [esp + 0x2c], ecx
cmp edx, ebx
je 0x100a012c
add ecx, dword [edx]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edi + 0x2c]
lea edx, [ecx + 1]
add ecx, eax
mov dword [esp + 0x3c], edx
lea edx, [ecx + 1]
add ecx, eax
mov dword [esp + 0x6c], edx
lea edx, [ecx + 1]
add ecx, eax
mov dword [esp + 0x74], edx
lea edx, [ecx + 1]
add eax, ecx
mov dword [esp + 0x7c], edx
mov dword [edi + 0x2c], eax
xor edi, edi
cmp dword [esp + 0x28], ebx
jle 0x100a01bc
mov edi, edi
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x100a0184
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
lea ecx, [edi + eax]
push ecx
push edi
push edx
push 0x5e
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a01b5
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x38]
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], edx
lea edx, [edi + ecx]
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov word [eax], 0x5e
inc edi
cmp edi, dword [esp + 0x28]
jl 0x100a0160
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x100a01e1
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edx
push 0x61
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0213
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x1c]
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov word [eax], 0x61
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
cmp eax, ebx
je 0x100a03c2
mov ecx, dword [eax]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x38], ecx
mov ecx, dword [edx + 0x4c]
add ecx, dword [esp + 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
xor edx, edx
xor edi, edi
mov dword [esp + 0x30], ecx
call fcn.10077050
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 8]
inc dword [eax + 0x2c]
mov ecx, dword [eax + 0x2c]
mov edx, dword [edx + 0x44]
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x6c]
add esp, 8
cmp dword [esi + 0x70], ecx
jg 0x100a0283
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
push eax
push edx
push ecx
push 0x5a
mov eax, esi
call fcn.1002f760
add esp, 0x10
mov edi, eax
jmp 0x100a02b3
mov edi, dword [esi + 0x68]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea eax, [ecx + ecx*4]
lea eax, [edi + eax*4]
xor edi, edi
mov word [eax + 2], di
mov edi, dword [esp + 0x28]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x38]
mov dword [eax + 4], edi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov word [eax], 0x5a
mov edi, ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x57], bl
je 0x100a02ca
mov eax, dword [esp + 0x1c]
mov edx, 0xfffffff8
call fcn.100304a0
jmp 0x100a02e2
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x68]
mov edx, dword [esp + 0x1c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4 - 0x14]
mov byte [eax + 1], 0xf8
mov dword [eax + 0x10], edx
mov eax, dword [esi + 0x6c]
lea ecx, [edi + 2]
lea edx, [edi + 4]
cmp dword [esi + 0x70], eax
jg 0x100a0301
push ecx
push edx
push ecx
push 0xe
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0322
lea edi, [eax + 1]
mov dword [esi + 0x6c], edi
mov edi, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edi + eax*4]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov dword [eax], 0xe
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100a033f
mov ecx, dword [esp + 0x18]
push ebx
push ebx
push ecx
push 0xa
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a036b
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x18]
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0xa
mov eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x44]
mov eax, dword [esi + 0x6c]
dec ecx
cmp dword [esi + 0x70], eax
jg 0x100a0398
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push ecx
push 0x50
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a03c2
lea edi, [eax + 1]
mov dword [esi + 0x6c], edi
mov edi, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edi + eax*4]
xor edi, edi
mov word [eax + 2], di
mov edi, dword [esp + 0x28]
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov word [eax], 0x50
mov eax, dword [esi + 0x6c]
mov edi, dword [esp + 0x64]
cmp dword [esi + 0x70], eax
jg 0x100a03e7
mov ecx, dword [esp + 0x30]
push ebx
push edi
push ecx
push 0x7f
mov eax, esi
call fcn.1002f760
mov ecx, dword [esp + 0x40]
add esp, 0x10
jmp 0x100a040c
mov ecx, dword [esi + 0x68]
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x7f
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x100a042c
mov eax, dword [esp + 0x34]
push edi
push eax
push ecx
push pe_nt_image_headers32
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0451
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], ebx
mov dword [eax], pe_nt_image_headers32
mov edx, dword [esp + 0xc]
mov ecx, dword [esi + 0x6c]
mov eax, dword [edx + 0x54]
mov dword [esp + 0x38], eax
cmp dword [esi + 0x70], ecx
jg 0x100a0479
push edi
push ebx
push eax
push 0x34
mov eax, esi
call fcn.1002f760
add esp, 0x10
mov dword [esp + 0x38], eax
jmp 0x100a04a7
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], ebx
mov word [eax], 0x34
mov dword [esp + 0x38], ecx
mov edi, dword [esp + 0xc]
mov eax, dword [ebp + 8]
push edi
push eax
call fcn.1009eb10
add esp, 8
mov dword [esp + 0x5c], eax
cmp dword [esp + 0x10], ebx
je 0x100a04fd
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov edx, dword [ecx + 0x18]
mov eax, dword [ebp + 8]
push edi
push edx
push eax
call fcn.1004e3a0
mov edx, dword [esp + 0x18]
xor ecx, ecx
add esp, 0xc
cmp byte [edx + 0x10], 0x59
setne cl
dec ecx
and ecx, 3
push ecx
push edi
mov edi, dword [ebp + 8]
call fcn.1009d0f0
mov edi, dword [esp + 0x14]
add esp, 8
cmp dword [esp + 0x14], ebx
je 0x100a053f
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x14]
mov ecx, dword [eax + 0x1c]
mov edx, dword [ebp + 8]
push edi
push ecx
push edx
call fcn.1004e3a0
mov ecx, dword [esp + 0x18]
xor eax, eax
add esp, 0xc
cmp byte [ecx + 0x10], 0x59
setne al
dec eax
and eax, 3
inc eax
push eax
push edi
mov edi, dword [ebp + 8]
call fcn.1009d0f0
mov edi, dword [esp + 0x14]
add esp, 8
cmp byte [edi + 0x10], 0x59
je 0x100a0685
mov al, byte [edi + 0x11]
cmp al, byte [edi + 0x12]
jne 0x100a0685
cmp dword [esp + 0x10], ebx
je 0x100a0685
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp al, 0x56
sete dl
push ecx
push ebx
lea eax, [edx + edx + 0x37]
mov edx, dword [esp + 0x18]
push edx
push eax
push esi
call fcn.1002f870
add esp, 0x14
push ebx
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.1009dc40
mov eax, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], eax
jg 0x100a05ab
mov eax, dword [esp + 0x70]
push ebx
push ebx
push eax
push 0x24
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a05d0
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x70]
mov dword [esi + 0x6c], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x24
lea eax, [esp + 0x48]
push eax
call fcn.1009e550
mov eax, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], eax
jg 0x100a05fd
mov ecx, dword [esp + 0x70]
push ebx
push ebx
push ecx
push 0x92
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0622
mov ecx, dword [esi + 0x68]
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x70]
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x92
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x100a063f
mov edx, dword [esp + 0x24]
push ebx
push edx
push ebx
push 9
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0664
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x24]
mov dword [esi + 0x6c], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 9
mov eax, dword [esi]
mov ecx, dword [esi + 0x6c]
cmp byte [eax + 0x57], bl
je 0x100a0675
mov eax, 0x1013ace8
jmp 0x100a067e
mov eax, dword [esi + 0x68]
lea edx, [edi + edi*4]
lea eax, [eax + edx*4]
mov edi, dword [esp + 0xc]
mov dword [eax + 8], ecx
cmp byte [edi + 0x11], 0x56
jne 0x100a06ab
cmp byte [edi + 0x10], 0x59
je 0x100a06ab
mov ecx, dword [esp + 0x14]
cmp ecx, ebx
je 0x100a06ab
mov eax, dword [esp + 0x10]
push eax
push ecx
push eax
push 0x6b
push esi
call fcn.1002f870
add esp, 0x14
cmp byte [edi + 0x11], 0x5a
je 0x100a06f3
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x100a06ce
mov ecx, dword [esp + 0x68]
push ebx
push ebx
push ecx
push 0x24
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a06f3
mov ecx, dword [esi + 0x68]
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x68]
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x24
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x100a0710
mov edx, dword [esp + 0x70]
push ebx
push ebx
push edx
push 0x24
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0735
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x70]
mov dword [esi + 0x6c], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x24
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x100a0752
mov eax, dword [esp + 0x78]
push ebx
push ebx
push eax
push 0x24
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0777
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x78]
mov dword [esi + 0x6c], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x24
mov edi, dword [esp + 0x3c]
cmp edi, ebx
je 0x100a08c6
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x100a08c6
mov ecx, dword [eax]
mov eax, dword [esi + 0x6c]
dec ecx
cmp dword [esi + 0x70], eax
jg 0x100a07af
mov eax, dword [esp + 0x2c]
push ecx
push edi
push eax
push 0x50
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a07d9
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x2c]
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov word [eax], 0x50
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [esi + 0x6c]
dec ecx
cmp dword [esi + 0x70], eax
jg 0x100a07fd
push ecx
mov ecx, dword [esp + 0x70]
push ecx
push edi
push 0x50
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0827
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x6c]
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov word [eax], 0x50
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [esi + 0x6c]
dec ecx
cmp dword [esi + 0x70], eax
jg 0x100a084b
push ecx
mov ecx, dword [esp + 0x78]
push ecx
push edi
push 0x50
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0875
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x74]
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov word [eax], 0x50
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [esi + 0x6c]
dec ecx
cmp dword [esi + 0x70], eax
jg 0x100a089c
push ecx
mov ecx, dword [esp + 0x80]
push ecx
push edi
push 0x50
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a08c6
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x7c]
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov word [eax], 0x50
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x100a08e3
mov eax, dword [esp + 0x24]
push ebx
push eax
push ebx
push 9
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0908
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x24]
mov dword [esi + 0x6c], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 9
mov eax, dword [esi]
mov ecx, dword [esi + 0x6c]
cmp byte [eax + 0x57], bl
je 0x100a0919
mov eax, 0x1013ace8
jmp 0x100a0926
mov eax, dword [esp + 0x38]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov dword [eax + 8], ecx
cmp edi, ebx
je 0x100a0948
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
push ecx
push edi
push edx
push eax
mov eax, dword [ebp + 8]
call fcn.1009ed50
add esp, 0x10
mov ecx, dword [esp + 0xc]
mov al, byte [ecx + 0x11]
cmp al, 0x56
jne 0x100a0a67
push ebx
push ebx
lea ecx, [esp + 0x50]
push 3
push ecx
call fcn.1009f380
mov eax, dword [esp + 0x1c]
add esp, 0x10
cmp byte [eax + 0x12], 0x5a
je 0x100a0c3c
cmp byte [eax + 0x10], 0x59
mov ecx, dword [esp + 0x14]
jne 0x100a0a3f
mov eax, dword [ebp + 8]
dec dword [eax + 0x38]
mov edi, dword [eax + 0x38]
mov eax, dword [esp + 0x78]
mov edx, dword [esi + 0x6c]
push edi
push eax
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x78]
push ecx
push edx
push 0x39
lea eax, [esp + 0x5c]
call fcn.1009ee60
mov eax, dword [esp + 0x24]
add esp, 0x14
push ebx
push eax
lea ecx, [esp + 0x50]
push 2
push ecx
call fcn.1009f380
push ebx
push ebx
lea edx, [esp + 0x60]
push 1
push edx
call fcn.1009f380
mov eax, dword [esi + 0x6c]
add esp, 0x20
cmp dword [esi + 0x70], eax
jg 0x100a09ee
mov eax, dword [esp + 0x3c]
push ebx
push eax
push ebx
push 9
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0a13
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x6c], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 9
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x3c]
add ecx, dword [eax + 0x38]
not edi
jns 0x100a0a31
push edi
push esi
mov edi, eax
call fcn.10030010
add esp, 8
jmp 0x100a0c3c
mov edx, dword [eax + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [edx + edi*4], eax
jmp 0x100a0c3c
push ebx
push ecx
lea edx, [esp + 0x50]
push 1
push edx
call fcn.1009f380
mov eax, dword [esp + 0x20]
push ebx
push eax
lea ecx, [esp + 0x60]
push 2
push ecx
call fcn.1009f380
add esp, 0x20
jmp 0x100a0c3c
cmp byte [ecx + 0x12], 0x58
jne 0x100a0ae1
cmp al, 0x58
jne 0x100a0a7e
cmp byte [ecx + 0x10], 0x59
jne 0x100a0a7e
mov edi, 1
jmp 0x100a0a80
xor edi, edi
mov edx, dword [esp + 0x14]
push ebx
push edx
lea eax, [esp + 0x50]
push 3
push eax
call fcn.1009f380
add esp, 0x10
cmp edi, ebx
je 0x100a0aae
mov ecx, dword [esp + 0x10]
push ebx
push ecx
lea edx, [esp + 0x50]
push 2
push edx
call fcn.1009f380
add esp, 0x10
push ebx
push ebx
lea eax, [esp + 0x50]
push 1
push eax
call fcn.1009f380
add esp, 0x10
cmp edi, ebx
jne 0x100a0c3c
mov ecx, dword [esp + 0x10]
push ebx
push ecx
lea edx, [esp + 0x50]
push 2
push edx
call fcn.1009f380
add esp, 0x10
jmp 0x100a0c3c
push ebx
push ebx
lea eax, [esp + 0x50]
push 3
push eax
mov dword [esp + 0x3c], ebx
call fcn.1009f380
mov ecx, dword [esp + 0x1c]
add esp, 0x10
cmp byte [ecx + 0x12], 0x5a
je 0x100a0c3c
mov edx, ecx
cmp byte [edx + 0x10], 0x59
jne 0x100a0bd9
mov ecx, dword [esp + 0x14]
mov eax, dword [esi + 0x6c]
xor edi, edi
mov dword [esp + 0x2c], eax
cmp ecx, ebx
je 0x100a0b44
mov eax, dword [ebp + 8]
dec dword [eax + 0x38]
mov edi, dword [eax + 0x38]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
push edi
push edx
push ecx
push eax
push 0x39
lea eax, [esp + 0x5c]
call fcn.1009ee60
add esp, 0x14
push ebx
push ebx
lea ecx, [esp + 0x50]
push 1
push ecx
call fcn.1009f380
mov edx, dword [esp + 0x20]
push ebx
push edx
lea eax, [esp + 0x60]
push 2
push eax
call fcn.1009f380
add esp, 0x20
cmp dword [esp + 0x14], ebx
je 0x100a0c3c
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x100a0b8e
mov ecx, dword [esp + 0x2c]
push ebx
push ecx
push ebx
push 9
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0bb3
mov ecx, dword [esi + 0x68]
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 9
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 0x3c]
add edx, dword [eax + 0x38]
not edi
jns 0x100a0bce
push edi
push esi
mov edi, eax
call fcn.10030010
add esp, 8
jmp 0x100a0c3c
mov eax, dword [eax + 0x40]
mov ecx, dword [esi + 0x6c]
mov dword [eax + edi*4], ecx
jmp 0x100a0c3c
mov edi, dword [esp + 0x14]
cmp edi, ebx
je 0x100a0bf4
push 1
push ebx
push edi
push 0x3b
push esi
call fcn.1002f870
add esp, 0x14
mov dword [esp + 0x2c], eax
push ebx
push ebx
lea edx, [esp + 0x50]
push 1
push edx
call fcn.1009f380
mov eax, dword [esp + 0x20]
push ebx
push eax
lea ecx, [esp + 0x60]
push 2
push ecx
call fcn.1009f380
add esp, 0x20
cmp edi, ebx
je 0x100a0c3c
mov edx, dword [esi]
mov ecx, dword [esi + 0x6c]
cmp byte [edx + 0x57], bl
je 0x100a0c2c
mov eax, 0x1013ace8
jmp 0x100a0c39
mov eax, dword [esp + 0x2c]
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
mov edi, dword [esi + 0xc]
mov ecx, dword [edi + 0x3c]
add ecx, dword [edi + 0x38]
mov eax, dword [esp + 0x24]
not eax
jns 0x100a0c59
push eax
push esi
call fcn.10030010
add esp, 8
jmp 0x100a0c62
mov edx, dword [edi + 0x40]
mov ecx, dword [esi + 0x6c]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.1009a160
mov edi, dword [esp + 0x10]
add esp, 4
cmp dword [edi + 8], ebx
je 0x100a0ce5
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x100a0c94
mov eax, dword [esp + 0x18]
push ebx
push eax
push ebx
push 0x47
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0cc0
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x18]
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x47
mov eax, ecx
mov ecx, dword [esi + 0x6c]
mov dword [esp + 0x44], eax
mov eax, dword [esi]
cmp byte [eax + 0x57], bl
je 0x100a0cd5
mov eax, 0x1013ace8
jmp 0x100a0ce2
mov eax, dword [esp + 0x40]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x6c]
mov dword [esp + 0x64], ebx
cmp dword [esi + 0x70], ecx
jg 0x100a0d0a
mov ecx, dword [esp + 0x30]
push ebx
push ebx
push ecx
push 0x24
mov eax, esi
call fcn.1002f760
add esp, 0x10
mov dword [esp + 0x40], eax
jmp 0x100a0d38
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x24
mov dword [esp + 0x40], ecx
cmp byte [edi + 0x12], 0x58
jne 0x100a0d97
cmp byte [edi + 0x11], 0x58
jne 0x100a0d51
cmp byte [edi + 0x10], 0x59
jne 0x100a0d51
mov edi, 1
jmp 0x100a0d53
xor edi, edi
mov eax, dword [esp + 0x14]
push ebx
push eax
lea ecx, [esp + 0x50]
push 3
push ecx
call fcn.1009f380
add esp, 0x10
cmp edi, ebx
je 0x100a0d81
mov edx, dword [esp + 0x10]
push ebx
push edx
lea eax, [esp + 0x50]
push 2
push eax
call fcn.1009f380
add esp, 0x10
push ebx
push ebx
lea ecx, [esp + 0x50]
push 1
push ecx
call fcn.1009f380
add esp, 0x10
jmp 0x100a0f9f
cmp byte [edi + 0x11], 0x56
push ebx
push ebx
push 3
jne 0x100a0f0f
lea edx, [esp + 0x54]
push edx
call fcn.1009f380
add esp, 0x10
cmp byte [edi + 0x10], 0x59
push 1
lea ecx, [esp + 0x4c]
jne 0x100a0de7
mov eax, dword [esp + 0x14]
mov edi, dword [esi + 0x6c]
push eax
push 2
push ecx
call fcn.1009f380
push 1
push ebx
lea edx, [esp + 0x60]
push 1
push edx
mov dword [esp + 0x58], eax
call fcn.1009f380
mov dword [esp + 0x54], eax
jmp 0x100a0e35
cmp byte [edi + 0x12], 0x5a
mov edi, dword [esi + 0x6c]
jne 0x100a0e0d
mov eax, dword [esp + 0x14]
push eax
push 1
push ecx
call fcn.1009f380
push 1
push ebx
push 2
lea edx, [esp + 0x64]
mov dword [esp + 0x50], eax
push edx
jmp 0x100a0e2c
mov eax, dword [esp + 0x18]
push eax
push 1
push ecx
call fcn.1009f380
mov edx, dword [esp + 0x20]
push 1
push edx
mov dword [esp + 0x4c], eax
push 2
lea eax, [esp + 0x64]
push eax
call fcn.1009f380
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0x6c]
add esp, 0x20
cmp dword [esi + 0x70], eax
jg 0x100a0e51
push ebx
push edi
push ebx
push 9
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0e72
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov dword [esi + 0x6c], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 9
mov edx, dword [esi]
mov ecx, dword [esi + 0x6c]
cmp byte [edx + 0x57], bl
je 0x100a0e83
mov eax, 0x1013ace8
jmp 0x100a0e90
mov eax, dword [esp + 0x38]
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
push 1
mov dword [eax + 8], ecx
mov edi, dword [esi + 0x6c]
push ebx
lea eax, [esp + 0x50]
push 1
push eax
call fcn.1009f380
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x6c]
add esp, 0x10
cmp dword [esi + 0x70], eax
jg 0x100a0ec5
push ebx
push edi
push ebx
push 9
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0ee6
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov dword [esi + 0x6c], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 9
mov edx, dword [esi]
mov ecx, dword [esi + 0x6c]
cmp byte [edx + 0x57], bl
je 0x100a0efd
mov eax, 0x1013ace8
mov dword [eax + 8], ecx
jmp 0x100a0f7e
mov eax, dword [esp + 0x34]
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
jmp 0x100a0f7e
lea ecx, [esp + 0x54]
push ecx
call fcn.1009f380
mov edi, dword [esi + 0x6c]
push 1
push ebx
lea edx, [esp + 0x60]
push 1
push edx
call fcn.1009f380
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x30]
push ebx
push eax
lea ecx, [esp + 0x70]
push 2
push ecx
call fcn.1009f380
mov eax, dword [esi + 0x6c]
add esp, 0x30
cmp dword [esi + 0x70], eax
jg 0x100a0f5d
push ebx
push edi
push ebx
push 9
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a0f7e
mov ecx, dword [esi + 0x68]
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 9
mov eax, dword [esi]
mov ecx, dword [esi + 0x6c]
cmp byte [eax + 0x57], bl
je 0x100a0f8f
mov eax, 0x1013ace8
jmp 0x100a0f9c
mov eax, dword [esp + 0x3c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov dword [eax + 8], ecx
mov edx, dword [esi]
mov ecx, dword [esi + 0x6c]
cmp byte [edx + 0x57], bl
je 0x100a0fb0
mov eax, 0x1013ace8
jmp 0x100a0fbd
mov eax, dword [esp + 0x40]
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x100a0fe0
mov eax, dword [esp + 0x70]
push ebx
push ebx
push eax
push 0x92
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a1005
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x70]
mov dword [esi + 0x6c], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x92
mov edi, dword [esp + 0xc]
cmp dword [edi + 8], ebx
je 0x100a10fd
mov ecx, dword [edi + 0x58]
cmp ecx, ebx
je 0x100a1095
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x100a1033
push ebx
push ecx
push 1
push 0x47
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a1058
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], 1
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x47
mov eax, dword [esi + 0x6c]
mov ecx, dword [edi + 0x5c]
cmp dword [esi + 0x70], eax
jg 0x100a1074
push ebx
push ecx
push ebx
push 0x47
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100a1095
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x47
mov eax, dword [esi]
mov ecx, dword [esi + 0x6c]
cmp byte [eax + 0x57], bl
je 0x100a10a6
mov eax, 0x1013ace8
jmp 0x100a10b3
mov eax, dword [esp + 0x44]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x100a10d8
mov ecx, dword [esp + 0x18]
push ebx
push ebx
push ecx
push 0x43
mov eax, esi
call fcn.1002f760
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x68]
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x43
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret