Function at 0x10371990
Capabilities:
Access peb ldr_data
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10484491
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x8ec
push esi
mov dword [ebp - 0x1c], 0
push 0x104
push 0
lea eax, [ebp - 0x8f8]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1d0], 5
mov dword [ebp - 0x1d8], 0
mov ecx, dword [ebp - 0x648]
mov dword [ebp - 0xf0], ecx
mov edx, dword fs:[0x30]
mov dword [ebp - 0x3ec], edx
mov eax, dword [ebp - 0x3ec]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x3f0], ecx
mov edx, dword [ebp - 0x3f0]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x3f4], eax
mov ecx, dword [ebp - 0x3f4]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x88]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x3f8], eax
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x3f8]
mov ecx, dword [eax + edx + 0x78]
mov edx, dword [eax + edx + 0x7c]
mov dword [ebp - 0x3c8], ecx
mov dword [ebp - 0x3c4], edx
mov eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x3c8]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x3c4]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x9c]
cmp edx, dword [ebp - 0xa0]
je 0x10371ad5
mov dword [ebp - 0x160], 1
jmp 0x10371adf
mov dword [ebp - 0x160], 0
mov al, byte [ebp - 0x160]
mov byte [ebp - 0x4d], al
movzx ecx, byte [ebp - 0x4d]
test ecx, ecx
je 0x10371c10
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x3fc], ecx
mov edx, dword [ebp - 0x70]
sub edx, 1
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x3fc], 0
je 0x10371c10
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa0]
add ecx, dword [eax + 0x20]
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x70]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x400], edx
mov ecx, dword [ebp - 0x400]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xe8], 0x811c9dc5
mov edx, dword [ebp - 0xe4]
mov al, byte [edx]
mov byte [ebp - 0x1d], al
mov ecx, dword [ebp - 0xe4]
add ecx, 1
mov dword [ebp - 0xe4], ecx
mov dl, byte [ebp - 0x1d]
mov byte [ebp - 0x11], dl
movsx eax, byte [ebp - 0x11]
test eax, eax
jne 0x10371b8c
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x404], ecx
jmp 0x10371ba5
movsx eax, byte [ebp - 0x11]
xor eax, dword [ebp - 0xe8]
mov edx, 0x1000193
mul edx
mov dword [ebp - 0xe8], eax
jmp 0x10371b56
cmp dword [ebp - 0x404], 0xe8692330
jne 0x10371c0b
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa0]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x40c], ecx
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa0]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x408], eax
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x408]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x40c]
add ecx, dword [edx + eax*4]
mov dword [ebp - 0x1b4], ecx
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0xf0], eax
jmp 0x10371c50
jmp 0x10371b00
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x1b8], ecx
mov edx, dword [ebp - 0x1b8]
mov eax, dword [edx]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0xec], ecx
mov byte [ebp - 0x1e], 1
movzx edx, byte [ebp - 0x1e]
test edx, edx
jne 0x10371a4b
mov dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0x644]
mov dword [ebp - 0x15c], eax
lea ecx, [ebp - 0x8f8]
mov dword [ebp - 0x15c], ecx
lea edx, [ebp - 0x1c0]
mov dword [ebp - 0x1c4], edx
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [eax]
mov dword [ebp - 0x1e0], ecx
lea edx, [ebp - 0x1c8]
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [eax]
mov dword [ebp - 0x1e4], ecx
lea edx, [ebp - 0x1d0]
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [eax]
mov dword [ebp - 0x1e8], ecx
lea edx, [ebp - 0x1d8]
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [eax]
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp - 0x15c]
push edx
mov eax, dword [ebp - 0x1e0]
push eax
mov ecx, dword [ebp - 0x1e4]
push ecx
mov edx, dword [ebp - 0x1e8]
push edx
mov eax, dword [ebp - 0x1ec]
push eax
call dword [ebp - 0xf0]
test eax, eax
jl 0x10373642
mov dword [ebp - 0x24c], 0
xor ecx, ecx
mov byte [ebp - 0x1f], cl
xor edx, edx
mov byte [ebp - 0x20], dl
mov al, byte [ebp - 0x1f]
mov byte [ebp - 0x144], al
mov cl, byte [ebp - 0x20]
mov byte [ebp - 0x148], cl
mov edx, 0x3d2b9f30
mov dword [ebp - 0x420], 0x7bf7b719
mov dword [ebp - 0x41c], edx
mov eax, 0x4892e45c
mov dword [ebp - 0x418], 0xa5211b5a
mov dword [ebp - 0x414], eax
mov ecx, 8
imul edx, ecx, 0
mov eax, 8
imul ecx, eax, 0
mov eax, dword [ebp + edx - 0x420]
mov edx, dword [ebp + edx - 0x41c]
mov dword [ebp + ecx - 0x180], eax
mov dword [ebp + ecx - 0x17c], edx
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp + ecx - 0x180]
mov eax, dword [ebp + ecx - 0x17c]
mov dword [ebp - 0x4b0], edx
mov dword [ebp - 0x4ac], eax
mov ecx, 8
shl ecx, 0
mov edx, 8
shl edx, 0
mov eax, dword [ebp + ecx - 0x420]
mov ecx, dword [ebp + ecx - 0x41c]
mov dword [ebp + edx - 0x180], eax
mov dword [ebp + edx - 0x17c], ecx
mov edx, 8
shl edx, 0
mov eax, dword [ebp + edx - 0x180]
mov ecx, dword [ebp + edx - 0x17c]
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 0x4a4], ecx
lea edx, [ebp - 0x4b0]
mov dword [ebp - 0x65c], edx
lea eax, [ebp - 0x4a0]
mov dword [ebp - 0x658], eax
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x668]
mov dword [ebp - 0xf4], edx
mov eax, 8
imul ecx, eax, 0
mov edx, 0x3d4ef251
mov dword [ebp + ecx - 0x5b0], 0x892c445
mov dword [ebp + ecx - 0x5ac], edx
mov eax, 0x3d4ef251
mov dword [ebp - 0x4c8], 0x892c445
mov dword [ebp - 0x4c4], eax
mov ecx, 8
shl ecx, 0
mov edx, 0x4892e45c
mov dword [ebp + ecx - 0x5b0], 0xa5211b5a
mov dword [ebp + ecx - 0x5ac], edx
mov eax, 0x4892e45c
mov dword [ebp - 0x4c0], 0xa5211b5a
mov dword [ebp - 0x4bc], eax
lea ecx, [ebp - 0x4c8]
mov dword [ebp - 0x664], ecx
lea edx, [ebp - 0x4b8]
mov dword [ebp - 0x660], edx
mov eax, 0x3d2b9f30
mov dword [ebp - 0x430], 0x7bf7b719
mov dword [ebp - 0x42c], eax
mov ecx, 0x4892e45c
mov dword [ebp - 0x428], 0xa5211b5a
mov dword [ebp - 0x424], ecx
mov edx, 8
imul eax, edx, 0
mov ecx, 8
imul edx, ecx, 0
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp + eax - 0x430]
mov eax, dword [ebp + eax - 0x42c]
mov dword [ecx + edx], esi
mov dword [ecx + edx + 4], eax
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + edx]
mov edx, dword [eax + edx + 4]
mov dword [ebp - 0x4e0], ecx
mov dword [ebp - 0x4dc], edx
mov eax, 8
shl eax, 0
mov ecx, 8
shl ecx, 0
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp + eax - 0x430]
mov eax, dword [ebp + eax - 0x42c]
mov dword [edx + ecx], esi
mov dword [edx + ecx + 4], eax
mov ecx, 8
shl ecx, 0
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx + ecx]
mov ecx, dword [edx + ecx + 4]
mov dword [ebp - 0x4d8], eax
mov dword [ebp - 0x4d4], ecx
lea edx, [ebp - 0x4e0]
mov dword [ebp - 0x5e8], edx
lea eax, [ebp - 0x4d0]
mov dword [ebp - 0x5e4], eax
xor ecx, ecx
mov byte [ebp - 0x21], cl
mov dl, byte [ebp - 0x21]
mov byte [ebp - 0x14c], dl
movaps xmm0, xmmword [ebp - 0x5b0]
movaps xmmword [ebp - 0x690], xmm0
mov eax, dword [ebp - 0x4c]
movups xmm0, xmmword [eax]
movaps xmmword [ebp - 0x680], xmm0
movaps xmm0, xmmword [ebp - 0x680]
pxor xmm0, xmmword [ebp - 0x690]
movaps xmmword [ebp - 0x6a0], xmm0
movaps xmm0, xmmword [ebp - 0x6a0]
mov ecx, dword [ebp - 0x4c]
movups xmmword [ecx], xmm0
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0xf4], edx
lea eax, [ebp - 0x8f8]
push eax
lea ecx, [ebp - 0x7a8]
call fcn.1000b730
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp - 0x1f0]
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x1f4]
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x6c]
add ecx, 1
mov dword [ebp - 0x1f8], ecx
mov edx, dword [ebp - 0x6c]
mov al, byte [edx]
mov byte [ebp - 0x22], al
add dword [ebp - 0x6c], 1
cmp byte [ebp - 0x22], 0
jne 0x10372009
mov ecx, dword [ebp - 0x6c]
sub ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0x1fc], ecx
mov edx, dword [ebp - 0x1fc]
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x204]
push ecx
mov edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0x208]
call fcn.10025c70
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x210], eax
mov ecx, dword [ebp - 0x210]
push ecx
lea ecx, [ebp - 0x748]
call fcn.1000b6b0
mov edx, dword [ebp - 0x1c]
or edx, 2
mov dword [ebp - 0x1c], edx
lea eax, [ebp - 0x748]
mov dword [ebp - 0x214], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x214]
call fcn.1000d990
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x218]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x64c]
mov dword [ebp - 0x104], edx
mov eax, dword fs:[0x30]
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x220], edx
mov eax, dword [ebp - 0x220]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x224]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x78]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x228], ecx
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x228]
mov edx, dword [ecx + eax + 0x78]
mov eax, dword [ecx + eax + 0x7c]
mov dword [ebp - 0x3d0], edx
mov dword [ebp - 0x3cc], eax
mov ecx, dword [ebp - 0x78]
add ecx, dword [ebp - 0x3d0]
mov dword [ebp - 0xa8], ecx
mov edx, dword [ebp - 0x3cc]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0xac]
je 0x10372172
mov dword [ebp - 0x164], 1
jmp 0x1037217c
mov dword [ebp - 0x164], 0
mov cl, byte [ebp - 0x164]
mov byte [ebp - 0x23], cl
movzx edx, byte [ebp - 0x23]
test edx, edx
je 0x103722ad
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x68]
sub eax, 1
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x22c], 0
je 0x103722ad
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xac]
add edx, dword [ecx + 0x20]
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x68]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x230], eax
mov edx, dword [ebp - 0x230]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xfc], 0x811c9dc5
mov eax, dword [ebp - 0xf8]
mov cl, byte [eax]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0xf8]
add edx, 1
mov dword [ebp - 0xf8], edx
mov al, byte [ebp - 0x24]
mov byte [ebp - 0x12], al
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x10372229
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x234], edx
jmp 0x10372242
movsx eax, byte [ebp - 0x12]
xor eax, dword [ebp - 0xfc]
mov ecx, 0x1000193
mul ecx
mov dword [ebp - 0xfc], eax
jmp 0x103721f3
cmp dword [ebp - 0x234], 0xb0c98c53
jne 0x103722a8
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xac]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x238], edx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x238]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x240], eax
mov edx, dword [ebp - 0x240]
mov dword [ebp - 0x104], edx
jmp 0x103722ed
jmp 0x1037219d
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x244], eax
mov ecx, dword [ebp - 0x244]
mov edx, dword [ecx]
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x100], eax
mov byte [ebp - 0x25], 1
movzx ecx, byte [ebp - 0x25]
test ecx, ecx
jne 0x103720f7
mov dword [ebp - 0x104], 0
lea edx, [ebp - 0x24c]
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
lea edx, [ebp - 0x254]
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax]
mov dword [ebp - 0x260], ecx
mov edx, dword [ebp - 0x25c]
push edx
mov eax, dword [ebp - 0x260]
push eax
call dword [ebp - 0x104]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x748]
call fcn.1000d530
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7a8]
call fcn.1000d530
mov dword [ebp - 0x2bc], 0
xor ecx, ecx
mov byte [ebp - 0x26], cl
xor edx, edx
mov byte [ebp - 0x27], dl
mov al, byte [ebp - 0x26]
mov byte [ebp - 0xcc], al
mov cl, byte [ebp - 0x27]
mov byte [ebp - 0xe0], cl
mov edx, 0x612b9f30
mov dword [ebp - 0x440], 0x7bf7b719
mov dword [ebp - 0x43c], edx
mov eax, 0x4892e42f
mov dword [ebp - 0x438], 0xcb487029
mov dword [ebp - 0x434], eax
mov ecx, 8
imul edx, ecx, 0
mov eax, 8
imul ecx, eax, 0
mov eax, dword [ebp + edx - 0x440]
mov edx, dword [ebp + edx - 0x43c]
mov dword [ebp + ecx - 0x190], eax
mov dword [ebp + ecx - 0x18c], edx
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp + ecx - 0x190]
mov eax, dword [ebp + ecx - 0x18c]
mov dword [ebp - 0x4f8], edx
mov dword [ebp - 0x4f4], eax
mov ecx, 8
shl ecx, 0
mov edx, 8
shl edx, 0
mov eax, dword [ebp + ecx - 0x440]
mov ecx, dword [ebp + ecx - 0x43c]
mov dword [ebp + edx - 0x190], eax
mov dword [ebp + edx - 0x18c], ecx
mov edx, 8
shl edx, 0
mov eax, dword [ebp + edx - 0x190]
mov ecx, dword [ebp + edx - 0x18c]
mov dword [ebp - 0x4f0], eax
mov dword [ebp - 0x4ec], ecx
lea edx, [ebp - 0x4f8]
mov dword [ebp - 0x5f0], edx
lea eax, [ebp - 0x4e8]
mov dword [ebp - 0x5ec], eax
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x650]
mov dword [ebp - 0x108], edx
mov eax, 8
imul ecx, eax, 0
mov edx, 0x3d4ef251
mov dword [ebp + ecx - 0x5c0], 0x892c445
mov dword [ebp + ecx - 0x5bc], edx
mov eax, 0x3d4ef251
mov dword [ebp - 0x510], 0x892c445
mov dword [ebp - 0x50c], eax
mov ecx, 8
shl ecx, 0
mov edx, 0x4892e45c
mov dword [ebp + ecx - 0x5c0], 0xa5211b5a
mov dword [ebp + ecx - 0x5bc], edx
mov eax, 0x4892e45c
mov dword [ebp - 0x508], 0xa5211b5a
mov dword [ebp - 0x504], eax
lea ecx, [ebp - 0x510]
mov dword [ebp - 0x5f8], ecx
lea edx, [ebp - 0x500]
mov dword [ebp - 0x5f4], edx
mov eax, 0x612b9f30
mov dword [ebp - 0x450], 0x7bf7b719
mov dword [ebp - 0x44c], eax
mov ecx, 0x4892e42f
mov dword [ebp - 0x448], 0xcb487029
mov dword [ebp - 0x444], ecx
mov edx, 8
imul eax, edx, 0
mov ecx, 8
imul edx, ecx, 0
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp + eax - 0x450]
mov eax, dword [ebp + eax - 0x44c]
mov dword [ecx + edx], esi
mov dword [ecx + edx + 4], eax
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + edx]
mov edx, dword [eax + edx + 4]
mov dword [ebp - 0x528], ecx
mov dword [ebp - 0x524], edx
mov eax, 8
shl eax, 0
mov ecx, 8
shl ecx, 0
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp + eax - 0x450]
mov eax, dword [ebp + eax - 0x44c]
mov dword [edx + ecx], esi
mov dword [edx + ecx + 4], eax
mov ecx, 8
shl ecx, 0
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + ecx]
mov ecx, dword [edx + ecx + 4]
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x51c], ecx
lea edx, [ebp - 0x528]
mov dword [ebp - 0x608], edx
lea eax, [ebp - 0x518]
mov dword [ebp - 0x604], eax
xor ecx, ecx
mov byte [ebp - 0x28], cl
mov dl, byte [ebp - 0x28]
mov byte [ebp - 0xc8], dl
movaps xmm0, xmmword [ebp - 0x5c0]
movaps xmmword [ebp - 0x6c0], xmm0
mov eax, dword [ebp - 0x40]
movups xmm0, xmmword [eax]
movaps xmmword [ebp - 0x6b0], xmm0
movaps xmm0, xmmword [ebp - 0x6b0]
pxor xmm0, xmmword [ebp - 0x6c0]
movaps xmmword [ebp - 0x6d0], xmm0
movaps xmm0, xmmword [ebp - 0x6d0]
mov ecx, dword [ebp - 0x40]
movups xmmword [ecx], xmm0
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x108], edx
lea eax, [ebp - 0x8f8]
push eax
lea ecx, [ebp - 0x7c0]
call fcn.1000b730
mov dword [ebp - 0x264], eax
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x268], ecx
mov dword [ebp - 4], 2
mov edx, dword [ebp - 0x268]
mov dword [ebp - 0x27c], edx
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x26c], ecx
mov edx, dword [ebp - 0x64]
mov al, byte [edx]
mov byte [ebp - 0x29], al
add dword [ebp - 0x64], 1
cmp byte [ebp - 0x29], 0
jne 0x1037265e
mov ecx, dword [ebp - 0x64]
sub ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], ecx
mov edx, dword [ebp - 0x270]
mov dword [ebp - 0x274], edx
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x278]
push ecx
mov edx, dword [ebp - 0x108]
push edx
mov ecx, dword [ebp - 0x27c]
call fcn.10025c70
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x284]
push ecx
lea ecx, [ebp - 0x760]
call fcn.1000b6b0
mov edx, dword [ebp - 0x1c]
or edx, 4
mov dword [ebp - 0x1c], edx
lea eax, [ebp - 0x760]
mov dword [ebp - 0x288], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x288]
call fcn.1000b610
mov dword [ebp - 0x2c4], eax
mov ecx, dword [ebp - 0x654]
mov dword [ebp - 0x118], ecx
mov edx, dword fs:[0x30]
mov dword [ebp - 0x28c], edx
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x290], ecx
mov edx, dword [ebp - 0x290]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x114]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x298], eax
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x298]
mov ecx, dword [eax + edx + 0x78]
mov edx, dword [eax + edx + 0x7c]
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0x3d8]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x3d4]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0x94]
je 0x103727bc
mov dword [ebp - 0x168], 1
jmp 0x103727c6
mov dword [ebp - 0x168], 0
mov al, byte [ebp - 0x168]
mov byte [ebp - 0x2a], al
movzx ecx, byte [ebp - 0x2a]
test ecx, ecx
je 0x103728f7
mov edx, dword [ebp - 0x90]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x29c], ecx
mov edx, dword [ebp - 0x60]
sub edx, 1
mov dword [ebp - 0x60], edx
cmp dword [ebp - 0x29c], 0
je 0x103728f7
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x94]
add ecx, dword [eax + 0x20]
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x60]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x2a0], edx
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x110], 0x811c9dc5
mov edx, dword [ebp - 0x10c]
mov al, byte [edx]
mov byte [ebp - 0x2b], al
mov ecx, dword [ebp - 0x10c]
add ecx, 1
mov dword [ebp - 0x10c], ecx
mov dl, byte [ebp - 0x2b]
mov byte [ebp - 0x13], dl
movsx eax, byte [ebp - 0x13]
test eax, eax
jne 0x10372873
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x2a4], ecx
jmp 0x1037288c
movsx eax, byte [ebp - 0x13]
xor eax, dword [ebp - 0x110]
mov edx, 0x1000193
mul edx
mov dword [ebp - 0x110], eax
jmp 0x1037283d
cmp dword [ebp - 0x2a4], 0xb0c98c53
jne 0x103728f2
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x94]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x2ac], ecx
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x94]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x2a8]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x2ac]
add ecx, dword [edx + eax*4]
mov dword [ebp - 0x2b0], ecx
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x118], eax
jmp 0x10372937
jmp 0x103727e7
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x2b4], ecx
mov edx, dword [ebp - 0x2b4]
mov eax, dword [edx]
mov dword [ebp - 0x2b8], eax
mov ecx, dword [ebp - 0x2b8]
mov dword [ebp - 0x114], ecx
mov byte [ebp - 0x2c], 1
movzx edx, byte [ebp - 0x2c]
test edx, edx
jne 0x10372741
mov dword [ebp - 0x118], 0
lea eax, [ebp - 0x2bc]
mov dword [ebp - 0x2c0], eax
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ecx]
mov dword [ebp - 0x2cc], edx
lea eax, [ebp - 0x2c4]
mov dword [ebp - 0x2c8], eax
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [ecx]
mov dword [ebp - 0x2d0], edx
mov eax, dword [ebp - 0x2cc]
push eax
mov ecx, dword [ebp - 0x2d0]
push ecx
call dword [ebp - 0x118]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x760]
call fcn.1000d530
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7c0]
call fcn.1000d530
mov dword [ebp - 0x32c], 0
xor edx, edx
mov byte [ebp - 0x2d], dl
xor eax, eax
mov byte [ebp - 0x2e], al
mov cl, byte [ebp - 0x2d]
mov byte [ebp - 0x154], cl
mov dl, byte [ebp - 0x2e]
mov byte [ebp - 0x150], dl
mov eax, 0x612b9f30
mov dword [ebp - 0x460], 0x7bf7b719
mov dword [ebp - 0x45c], eax
mov ecx, 0x48e18335
mov dword [ebp - 0x458], 0xc34f7439
mov dword [ebp - 0x454], ecx
mov edx, 8
imul eax, edx, 0
mov ecx, 8
imul edx, ecx, 0
mov ecx, dword [ebp + eax - 0x460]
mov eax, dword [ebp + eax - 0x45c]
mov dword [ebp + edx - 0x1a0], ecx
mov dword [ebp + edx - 0x19c], eax
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp + edx - 0x1a0]
mov ecx, dword [ebp + edx - 0x19c]
mov dword [ebp - 0x540], eax
mov dword [ebp - 0x53c], ecx
mov edx, 8
shl edx, 0
mov eax, 8
shl eax, 0
mov ecx, dword [ebp + edx - 0x460]
mov edx, dword [ebp + edx - 0x45c]
mov dword [ebp + eax - 0x1a0], ecx
mov dword [ebp + eax - 0x19c], edx
mov eax, 8
shl eax, 0
mov ecx, dword [ebp + eax - 0x1a0]
mov edx, dword [ebp + eax - 0x19c]
mov dword [ebp - 0x538], ecx
mov dword [ebp - 0x534], edx
lea eax, [ebp - 0x540]
mov dword [ebp - 0x610], eax
lea ecx, [ebp - 0x530]
mov dword [ebp - 0x60c], ecx
lea edx, [ebp - 0x1a0]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x634]
mov dword [ebp - 0x11c], eax
mov ecx, 8
imul edx, ecx, 0
mov eax, 0x3d4ef251
mov dword [ebp + edx - 0x5d0], 0x892c445
mov dword [ebp + edx - 0x5cc], eax
mov ecx, 0x3d4ef251
mov dword [ebp - 0x558], 0x892c445
mov dword [ebp - 0x554], ecx
mov edx, 8
shl edx, 0
mov eax, 0x4892e45c
mov dword [ebp + edx - 0x5d0], 0xa5211b5a
mov dword [ebp + edx - 0x5cc], eax
mov ecx, 0x4892e45c
mov dword [ebp - 0x550], 0xa5211b5a
mov dword [ebp - 0x54c], ecx
lea edx, [ebp - 0x558]
mov dword [ebp - 0x600], edx
lea eax, [ebp - 0x548]
mov dword [ebp - 0x5fc], eax
mov ecx, 0x612b9f30
mov dword [ebp - 0x3c0], 0x7bf7b719
mov dword [ebp - 0x3bc], ecx
mov edx, 0x48e18335
mov dword [ebp - 0x3b8], 0xc34f7439
mov dword [ebp - 0x3b4], edx
mov eax, 8
imul ecx, eax, 0
mov edx, 8
imul eax, edx, 0
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp + ecx - 0x3c0]
mov ecx, dword [ebp + ecx - 0x3bc]
mov dword [edx + eax], esi
mov dword [edx + eax + 4], ecx
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov dword [ebp - 0x570], edx
mov dword [ebp - 0x56c], eax
mov ecx, 8
shl ecx, 0
mov edx, 8
shl edx, 0
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp + ecx - 0x3c0]
mov ecx, dword [ebp + ecx - 0x3bc]
mov dword [eax + edx], esi
mov dword [eax + edx + 4], ecx
mov edx, 8
shl edx, 0
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + edx]
mov edx, dword [eax + edx + 4]
mov dword [ebp - 0x568], ecx
mov dword [ebp - 0x564], edx
lea eax, [ebp - 0x570]
mov dword [ebp - 0x618], eax
lea ecx, [ebp - 0x560]
mov dword [ebp - 0x614], ecx
xor edx, edx
mov byte [ebp - 0x2f], dl
mov al, byte [ebp - 0x2f]
mov byte [ebp - 0xdc], al
movaps xmm0, xmmword [ebp - 0x5d0]
movaps xmmword [ebp - 0x6f0], xmm0
mov ecx, dword [ebp - 0x44]
movups xmm0, xmmword [ecx]
movaps xmmword [ebp - 0x6e0], xmm0
movaps xmm0, xmmword [ebp - 0x6e0]
pxor xmm0, xmmword [ebp - 0x6f0]
movaps xmmword [ebp - 0x700], xmm0
movaps xmm0, xmmword [ebp - 0x700]
mov edx, dword [ebp - 0x44]
movups xmmword [edx], xmm0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x11c], eax
lea ecx, [ebp - 0x8f8]
push ecx
lea ecx, [ebp - 0x7d8]
call fcn.1000b730
mov dword [ebp - 0x2d4], eax
mov edx, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x74]
add edx, 1
mov dword [ebp - 0x2dc], edx
mov eax, dword [ebp - 0x74]
mov cl, byte [eax]
mov byte [ebp - 0x30], cl
add dword [ebp - 0x74], 1
cmp byte [ebp - 0x30], 0
jne 0x10372ca8
mov edx, dword [ebp - 0x74]
sub edx, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e0], edx
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x2e4]
mov dword [ebp - 0x2e8], ecx
mov edx, dword [ebp - 0x2e8]
push edx
mov eax, dword [ebp - 0x11c]
push eax
mov ecx, dword [ebp - 0x2ec]
call fcn.10025c70
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f4], ecx
mov edx, dword [ebp - 0x2f4]
push edx
lea ecx, [ebp - 0x778]
call fcn.1000b6b0
mov eax, dword [ebp - 0x1c]
or eax, 8
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x778]
mov dword [ebp - 0x2f8], ecx
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x2f8]
call fcn.1000b610
mov dword [ebp - 0x334], eax
mov edx, dword [ebp - 0x638]
mov dword [ebp - 0x12c], edx
mov eax, dword fs:[0x30]
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x300], edx
mov eax, dword [ebp - 0x300]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x304], ecx
mov edx, dword [ebp - 0x304]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x128]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x80]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x308], ecx
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x308]
mov edx, dword [ecx + eax + 0x78]
mov eax, dword [ecx + eax + 0x7c]
mov dword [ebp - 0x3e0], edx
mov dword [ebp - 0x3dc], eax
mov ecx, dword [ebp - 0x80]
add ecx, dword [ebp - 0x3e0]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0x3dc]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0xb8]
je 0x10372e05
mov dword [ebp - 0x16c], 1
jmp 0x10372e0f
mov dword [ebp - 0x16c], 0
mov cl, byte [ebp - 0x16c]
mov byte [ebp - 0x31], cl
movzx edx, byte [ebp - 0x31]
test edx, edx
je 0x10372f40
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x30c], edx
mov eax, dword [ebp - 0x58]
sub eax, 1
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x30c], 0
je 0x10372f40
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb8]
add edx, dword [ecx + 0x20]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x58]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x310], eax
mov edx, dword [ebp - 0x310]
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x124], 0x811c9dc5
mov eax, dword [ebp - 0x120]
mov cl, byte [eax]
mov byte [ebp - 0x32], cl
mov edx, dword [ebp - 0x120]
add edx, 1
mov dword [ebp - 0x120], edx
mov al, byte [ebp - 0x32]
mov byte [ebp - 0x14], al
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
jne 0x10372ebc
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x314], edx
jmp 0x10372ed5
movsx eax, byte [ebp - 0x14]
xor eax, dword [ebp - 0x124]
mov ecx, 0x1000193
mul ecx
mov dword [ebp - 0x124], eax
jmp 0x10372e86
cmp dword [ebp - 0x314], 0xb0c98c53
jne 0x10372f3b
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb8]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x31c], eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb8]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x318], edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x318]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x31c]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x320], eax
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x12c], edx
jmp 0x10372f80
jmp 0x10372e30
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x324], eax
mov ecx, dword [ebp - 0x324]
mov edx, dword [ecx]
mov dword [ebp - 0x328], edx
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x128], eax
mov byte [ebp - 0x33], 1
movzx ecx, byte [ebp - 0x33]
test ecx, ecx
jne 0x10372d8a
mov dword [ebp - 0x12c], 0
lea edx, [ebp - 0x32c]
mov dword [ebp - 0x330], edx
mov eax, dword [ebp - 0x330]
mov ecx, dword [eax]
mov dword [ebp - 0x33c], ecx
lea edx, [ebp - 0x334]
mov dword [ebp - 0x338], edx
mov eax, dword [ebp - 0x338]
mov ecx, dword [eax]
mov dword [ebp - 0x340], ecx
mov edx, dword [ebp - 0x33c]
push edx
mov eax, dword [ebp - 0x340]
push eax
call dword [ebp - 0x12c]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x778]
call fcn.1000d530
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7d8]
call fcn.1000d530
mov dword [ebp - 0x39c], 0
xor ecx, ecx
mov byte [ebp - 0x34], cl
xor edx, edx
mov byte [ebp - 0x35], dl
mov al, byte [ebp - 0x34]
mov byte [ebp - 0xd8], al
mov cl, byte [ebp - 0x35]
mov byte [ebp - 0xd4], cl
mov edx, 0x612b9f30
mov dword [ebp - 0x470], 0x7bf7b719
mov dword [ebp - 0x46c], edx
mov eax, 0x48e1902c
mov dword [ebp - 0x468], 0xcc537829
mov dword [ebp - 0x464], eax
mov ecx, 8
imul edx, ecx, 0
mov eax, 8
imul ecx, eax, 0
mov eax, dword [ebp + edx - 0x470]
mov edx, dword [ebp + edx - 0x46c]
mov dword [ebp + ecx - 0x1b0], eax
mov dword [ebp + ecx - 0x1ac], edx
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp + ecx - 0x1b0]
mov eax, dword [ebp + ecx - 0x1ac]
mov dword [ebp - 0x588], edx
mov dword [ebp - 0x584], eax
mov ecx, 8
shl ecx, 0
mov edx, 8
shl edx, 0
mov eax, dword [ebp + ecx - 0x470]
mov ecx, dword [ebp + ecx - 0x46c]
mov dword [ebp + edx - 0x1b0], eax
mov dword [ebp + edx - 0x1ac], ecx
mov edx, 8
shl edx, 0
mov eax, dword [ebp + edx - 0x1b0]
mov ecx, dword [ebp + edx - 0x1ac]
mov dword [ebp - 0x580], eax
mov dword [ebp - 0x57c], ecx
lea edx, [ebp - 0x588]
mov dword [ebp - 0x620], edx
lea eax, [ebp - 0x578]
mov dword [ebp - 0x61c], eax
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x63c]
mov dword [ebp - 0x130], edx
mov eax, 8
imul ecx, eax, 0
mov edx, 0x3d4ef251
mov dword [ebp + ecx - 0x5e0], 0x892c445
mov dword [ebp + ecx - 0x5dc], edx
mov eax, 0x3d4ef251
mov dword [ebp - 0x5a0], 0x892c445
mov dword [ebp - 0x59c], eax
mov ecx, 8
shl ecx, 0
mov edx, 0x4892e45c
mov dword [ebp + ecx - 0x5e0], 0xa5211b5a
mov dword [ebp + ecx - 0x5dc], edx
mov eax, 0x4892e45c
mov dword [ebp - 0x598], 0xa5211b5a
mov dword [ebp - 0x594], eax
lea ecx, [ebp - 0x5a0]
mov dword [ebp - 0x628], ecx
lea edx, [ebp - 0x590]
mov dword [ebp - 0x624], edx
mov eax, 0x612b9f30
mov dword [ebp - 0x480], 0x7bf7b719
mov dword [ebp - 0x47c], eax
mov ecx, 0x48e1902c
mov dword [ebp - 0x478], 0xcc537829
mov dword [ebp - 0x474], ecx
mov edx, 8
imul eax, edx, 0
mov ecx, 8
imul edx, ecx, 0
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp + eax - 0x480]
mov eax, dword [ebp + eax - 0x47c]
mov dword [ecx + edx], esi
mov dword [ecx + edx + 4], eax
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + edx]
mov edx, dword [eax + edx + 4]
mov dword [ebp - 0x498], ecx
mov dword [ebp - 0x494], edx
mov eax, 8
shl eax, 0
mov ecx, 8
shl ecx, 0
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp + eax - 0x480]
mov eax, dword [ebp + eax - 0x47c]
mov dword [edx + ecx], esi
mov dword [edx + ecx + 4], eax
mov ecx, 8
shl ecx, 0
mov edx, dword [ebp - 0x48]
mov eax, dword [edx + ecx]
mov ecx, dword [edx + ecx + 4]
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x48c], ecx
lea edx, [ebp - 0x498]
mov dword [ebp - 0x630], edx
lea eax, [ebp - 0x488]
mov dword [ebp - 0x62c], eax
xor ecx, ecx
mov byte [ebp - 0x36], cl
mov dl, byte [ebp - 0x36]
mov byte [ebp - 0xd0], dl
movaps xmm0, xmmword [ebp - 0x5e0]
movaps xmmword [ebp - 0x720], xmm0
mov eax, dword [ebp - 0x48]
movups xmm0, xmmword [eax]
movaps xmmword [ebp - 0x710], xmm0
movaps xmm0, xmmword [ebp - 0x710]
pxor xmm0, xmmword [ebp - 0x720]
movaps xmmword [ebp - 0x730], xmm0
movaps xmm0, xmmword [ebp - 0x730]
mov ecx, dword [ebp - 0x48]
movups xmmword [ecx], xmm0
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x130], edx
lea eax, [ebp - 0x8f8]
push eax
lea ecx, [ebp - 0x7f0]
call fcn.1000b730
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x344]
mov dword [ebp - 0x348], ecx
mov dword [ebp - 4], 6
mov edx, dword [ebp - 0x348]
mov dword [ebp - 0x35c], edx
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x54]
add ecx, 1
mov dword [ebp - 0x34c], ecx
mov edx, dword [ebp - 0x54]
mov al, byte [edx]
mov byte [ebp - 0x37], al
add dword [ebp - 0x54], 1
cmp byte [ebp - 0x37], 0
jne 0x103732f1
mov ecx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x34c]
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x350]
mov dword [ebp - 0x354], edx
mov eax, dword [ebp - 0x354]
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 0x358]
push ecx
mov edx, dword [ebp - 0x130]
push edx
mov ecx, dword [ebp - 0x35c]
call fcn.10025c70
mov dword [ebp - 0x360], eax
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x364], eax
mov ecx, dword [ebp - 0x364]
push ecx
lea ecx, [ebp - 0x790]
call fcn.1000b6b0
mov edx, dword [ebp - 0x1c]
or edx, 0x10
mov dword [ebp - 0x1c], edx
lea eax, [ebp - 0x790]
mov dword [ebp - 0x368], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x368]
call fcn.1000b610
mov dword [ebp - 0x3a4], eax
mov ecx, dword [ebp - 0x640]
mov dword [ebp - 0x140], ecx
mov edx, dword fs:[0x30]
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x36c]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x370], ecx
mov edx, dword [ebp - 0x370]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x374], eax
mov ecx, dword [ebp - 0x374]
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x13c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x378], eax
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x378]
mov ecx, dword [eax + edx + 0x78]
mov edx, dword [eax + edx + 0x7c]
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0x3e4], edx
mov eax, dword [ebp - 0x84]
add eax, dword [ebp - 0x3e8]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0x3e4]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xc0]
cmp edx, dword [ebp - 0xc4]
je 0x1037345e
mov dword [ebp - 0x158], 1
jmp 0x10373468
mov dword [ebp - 0x158], 0
mov al, byte [ebp - 0x158]
mov byte [ebp - 0x38], al
movzx ecx, byte [ebp - 0x38]
test ecx, ecx
je 0x10373599
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x37c], ecx
mov edx, dword [ebp - 0x5c]
sub edx, 1
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x37c], 0
je 0x10373599
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
add ecx, dword [eax + 0x20]
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x5c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x380], edx
mov ecx, dword [ebp - 0x380]
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x138], 0x811c9dc5
mov edx, dword [ebp - 0x134]
mov al, byte [edx]
mov byte [ebp - 0x39], al
mov ecx, dword [ebp - 0x134]
add ecx, 1
mov dword [ebp - 0x134], ecx
mov dl, byte [ebp - 0x39]
mov byte [ebp - 0x15], dl
movsx eax, byte [ebp - 0x15]
test eax, eax
jne 0x10373515
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x384], ecx
jmp 0x1037352e
movsx eax, byte [ebp - 0x15]
xor eax, dword [ebp - 0x138]
mov edx, 0x1000193
mul edx
mov dword [ebp - 0x138], eax
jmp 0x103734df
cmp dword [ebp - 0x384], 0xb0c98c53
jne 0x10373594
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x38c], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x388], eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x388]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x38c]
add ecx, dword [edx + eax*4]
mov dword [ebp - 0x390], ecx
mov eax, dword [ebp - 0x390]
mov dword [ebp - 0x140], eax
jmp 0x103735d9
jmp 0x10373489
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x394], ecx
mov edx, dword [ebp - 0x394]
mov eax, dword [edx]
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0x398]
mov dword [ebp - 0x13c], ecx
mov byte [ebp - 0x3a], 1
movzx edx, byte [ebp - 0x3a]
test edx, edx
jne 0x103733d4
mov dword [ebp - 0x140], 0
lea eax, [ebp - 0x39c]
mov dword [ebp - 0x3a0], eax
mov ecx, dword [ebp - 0x3a0]
mov edx, dword [ecx]
mov dword [ebp - 0x3ac], edx
lea eax, [ebp - 0x3a4]
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0x3a8]
mov edx, dword [ecx]
mov dword [ebp - 0x3b0], edx
mov eax, dword [ebp - 0x3ac]
push eax
mov ecx, dword [ebp - 0x3b0]
push ecx
call dword [ebp - 0x140]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x790]
call fcn.1000d530
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7f0]
call fcn.1000d530
lea edx, [ebp - 0x8f8]
push edx
mov ecx, dword [ebx + 8]
call fcn.1000b730
mov eax, dword [ebp - 0x1c]
or eax, 1
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret