Function at 0x313cf8d0
Capabilities:
Access peb ldr_data
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x4c
push 0
push 0
dec ecx
jne 0x313cf8d8
push ebx
push esi
push edi
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xa0]
mov edx, dword [0x3139cb20]
call fcn.31237a90
xor eax, eax
push ebp
push 0x313d2136
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x31445b08], 0
je 0x313d07ce
mov eax, dword [0x31445b08]
mov dword [ebp - 4], eax
mov ebx, dword [0x3143ff20]
movzx ebx, word [ebx]
mov eax, dword [0x3143ff20]
mov word [eax], 0x2e
push 0
push 0
mov ecx, 0x313d2150
mov edx, 0x313d216c
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x28]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x90]
fstp qword [eax + 0x10]
wait
mov eax, dword [0x3143ff20]
mov word [eax], bx
push 0
lea eax, [ebp - 0xc0]
push eax
mov edx, 0x313d216c
mov ecx, 0x313d2190
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 4]
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x90]
add eax, 0x18
call fcn.31236df0
push 0
lea eax, [ebp - 0xc4]
push eax
mov edx, 0x313d216c
mov ecx, 0x313d21ac
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 4]
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x90]
add eax, 0x1c
call fcn.31236df0
push 4
mov edx, 0x313d216c
mov ecx, 0x313d21d0
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x2a], ax
push 0x1e
mov edx, 0x313d216c
mov ecx, 0x313d21f4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x2c], ax
push 0
mov edx, 0x313d216c
mov ecx, 0x313d2218
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ebx, eax
mov eax, dword [ebp - 0xa4]
mov esi, dword [eax + 0x90]
mov word [esi + 0x2e], bx
test bx, bx
jne 0x313cfa42
movzx eax, word [esi + 0x2c]
mov word [esi + 0x2e], ax
push 8
mov edx, 0x313d216c
mov ecx, 0x313d2238
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x30], ax
push 0
mov edx, 0x313d216c
mov ecx, 0x313d225c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x32], ax
push 0
mov edx, 0x313d216c
mov ecx, 0x313d2284
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x34], ax
push 0
mov edx, 0x313d216c
mov ecx, 0x313d22a8
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov dword [edx + 0x20], eax
push 0x313d22d0
lea eax, [ebp - 0xc8]
push eax
mov edx, 0x313d216c
mov ecx, 0x313d22e0
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 4]
mov eax, dword [ebp - 0xc8]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x24], ax
push 0x313d2308
lea eax, [ebp - 0xcc]
push eax
mov edx, 0x313d216c
mov ecx, 0x313d231c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 4]
mov eax, dword [ebp - 0xcc]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x26], ax
push 0x313d22d0
lea eax, [ebp - 0xd0]
push eax
mov edx, 0x313d216c
mov ecx, 0x313d2340
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 4]
mov eax, dword [ebp - 0xd0]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x28], ax
push 0
mov edx, 0x313d216c
mov ecx, 0x313d2374
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x40], ax
push 0
mov edx, 0x313d216c
mov ecx, 0x313d2390
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x42], ax
push 0
mov edx, 0x313d216c
mov ecx, 0x313d23b0
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x44], ax
push 0
mov edx, 0x313d216c
mov ecx, 0x313d23cc
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x46], ax
push 0
mov edx, 0x313d216c
mov ecx, 0x313d23e8
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x48], ax
push 0
mov edx, 0x313d216c
mov ecx, 0x313d2400
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov dword [edx + 0x3c], eax
push 0
mov edx, 0x313d216c
mov ecx, 0x313d2424
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x4a], ax
push 0x313d22d0
lea eax, [ebp - 0xd4]
push eax
mov edx, 0x313d216c
mov ecx, 0x313d2444
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 4]
mov eax, dword [ebp - 0xd4]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x4c], ax
push 0x313d22d0
lea eax, [ebp - 0xd8]
push eax
mov edx, 0x313d216c
mov ecx, 0x313d2470
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 4]
mov eax, dword [ebp - 0xd8]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x4e], ax
push 0x313d22d0
lea eax, [ebp - 0xdc]
push eax
mov edx, 0x313d216c
mov ecx, 0x313d24a8
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 4]
mov eax, dword [ebp - 0xdc]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x50], ax
push 0x313d22d0
lea eax, [ebp - 0xe0]
push eax
mov edx, 0x313d216c
mov ecx, 0x313d24d0
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 4]
mov eax, dword [ebp - 0xe0]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x52], ax
push 0x313d22d0
lea eax, [ebp - 0xe4]
push eax
mov edx, 0x313d216c
mov ecx, 0x313d2504
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 4]
mov eax, dword [ebp - 0xe4]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x54], ax
push 0x313d22d0
lea eax, [ebp - 0xe8]
push eax
mov edx, 0x313d216c
mov ecx, 0x313d252c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 4]
mov eax, dword [ebp - 0xe8]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x56], ax
mov eax, dword [ebp - 0xa4]
call fcn.313d3c6c
mov dl, 1
mov eax, dword [0x3125d548]
call fcn.3126962c
mov dword [ebp - 0xa8], eax
xor eax, eax
push ebp
push 0x313d07c7
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov eax, dword [ebp - 0xa4]
add eax, 0x9c
mov ecx, 1
mov edx, dword [0x3139cebc]
call fcn.312387c4
add esp, 4
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0xa8]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x313d07a5
inc eax
mov dword [ebp - 0xb8], eax
xor ebx, ebx
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
call fcn.312385fc
inc eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xa4]
add eax, 0x9c
mov ecx, 1
mov edx, dword [0x3139cebc]
call fcn.312387c4
add esp, 4
lea ecx, [ebp - 0xec]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xec]
imul esi, ebx, 0x13
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
lea eax, [eax + esi*8 + 4]
call fcn.31236df0
push 0
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0xf4]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xf4]
mov ecx, 0x313d2560
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 4]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
lea eax, [eax + esi*8]
call fcn.31236df0
push ebp
lea ecx, [ebp - 0xf8]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xf8]
mov ecx, 0xffffff
mov edx, 0x313d2584
call fcn.313cf7e0
pop ecx
call fcn.312858e8
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 8], eax
push ebp
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x104]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x104]
mov ecx, 0x313d259c
mov edx, 0x313d25b4
call fcn.313cf6d0
pop ecx
mov eax, dword [ebp - 0x100]
lea edx, [ebp - 0xfc]
call fcn.312430a0
mov eax, dword [ebp - 0xfc]
mov edx, 0x313d25e0
call fcn.312374d8
sete al
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov byte [edx + esi*8 + 0x40], al
push ebp
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp - 0x110]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x110]
push eax
mov ecx, 0x313d259c
mov edx, 0x313d25f8
pop eax
call fcn.313cf6d0
pop ecx
mov eax, dword [ebp - 0x10c]
lea edx, [ebp - 0x108]
call fcn.312430a0
mov eax, dword [ebp - 0x108]
push eax
mov edx, 0x313d25e0
pop eax
call fcn.312374d8
sete al
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov byte [edx + esi*8 + 0x34], al
push ebp
lea ecx, [ebp - 0x114]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x114]
xor ecx, ecx
mov edx, 0x313d261c
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x38], eax
push ebp
lea ecx, [ebp - 0x118]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x118]
xor ecx, ecx
mov edx, 0x313d2634
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x3c], eax
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
mov dword [eax + esi*8 + 0x88], 0xffffffff
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
mov dword [eax + esi*8 + 0x8c], 0xffffffff
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
mov dword [eax + esi*8 + 0x90], 0xffffffff
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
mov dword [eax + esi*8 + 0x94], 0xffffffff
push ebp
lea ecx, [ebp - 0x11c]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x11c]
xor ecx, ecx
mov edx, 0x313d2658
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0xc], eax
push ebp
lea ecx, [ebp - 0x120]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x120]
or ecx, 0xffffffff
mov edx, 0x313d2678
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x10], eax
push ebp
lea ecx, [ebp - 0x124]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x124]
or ecx, 0xffffffff
mov edx, 0x313d2694
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x14], eax
push ebp
lea ecx, [ebp - 0x128]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x128]
or ecx, 0xffffffff
mov edx, 0x313d26ac
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x18], eax
push ebp
lea ecx, [ebp - 0x12c]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x12c]
or ecx, 0xffffffff
mov edx, 0x313d26c8
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x1c], eax
push ebp
lea ecx, [ebp - 0x130]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x130]
xor ecx, ecx
mov edx, 0x313d26e8
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x20], eax
push ebp
lea ecx, [ebp - 0x134]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x134]
or ecx, 0xffffffff
mov edx, 0x313d2710
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x24], eax
push ebp
lea ecx, [ebp - 0x138]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x138]
or ecx, 0xffffffff
mov edx, 0x313d2730
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x28], eax
push ebp
lea ecx, [ebp - 0x13c]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x13c]
or ecx, 0xffffffff
mov edx, 0x313d2750
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x2c], eax
push ebp
lea ecx, [ebp - 0x140]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x140]
or ecx, 0xffffffff
mov edx, 0x313d2774
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x30], eax
push ebp
lea ecx, [ebp - 0x144]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x144]
xor ecx, ecx
mov edx, 0x313d2798
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x44], eax
push ebp
lea ecx, [ebp - 0x148]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x148]
xor ecx, ecx
mov edx, 0x313d27c0
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x48], eax
push ebp
lea ecx, [ebp - 0x14c]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x14c]
xor ecx, ecx
mov edx, 0x313d27ec
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x54], eax
push ebp
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x154]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x154]
mov ecx, 0x313d2814
mov edx, 0x313d2824
call fcn.313cf6d0
pop ecx
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
lea eax, [eax + esi*8 + 0x4c]
call fcn.31236df0
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
mov eax, dword [eax + esi*8 + 0x4c]
mov edx, 0x313d2814
call fcn.312374d8
je 0x313d0431
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
lea edx, [eax + esi*8 + 0x50]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
mov eax, dword [eax + esi*8 + 0x4c]
call fcn.3139c7d4
push ebp
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x160]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x160]
push eax
mov ecx, 0x313d259c
mov edx, 0x313d284c
pop eax
call fcn.313cf6d0
pop ecx
mov eax, dword [ebp - 0x15c]
lea edx, [ebp - 0x158]
call fcn.312430a0
mov eax, dword [ebp - 0x158]
push eax
mov edx, 0x313d25e0
pop eax
call fcn.312374d8
sete al
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov byte [edx + esi*8 + 0x58], al
push ebp
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x16c]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x16c]
push eax
mov ecx, 0x313d259c
mov edx, 0x313d286c
pop eax
call fcn.313cf6d0
pop ecx
mov eax, dword [ebp - 0x168]
lea edx, [ebp - 0x164]
call fcn.312430a0
mov eax, dword [ebp - 0x164]
push eax
mov edx, 0x313d25e0
pop eax
call fcn.312374d8
sete al
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov byte [edx + esi*8 + 0x59], al
push ebp
lea ecx, [ebp - 0x170]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x170]
mov ecx, 5
mov edx, 0x313d2894
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x5c], eax
push ebp
lea ecx, [ebp - 0x174]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x174]
mov ecx, 0xffffff
mov edx, 0x313d28c4
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x60], eax
push ebp
lea ecx, [ebp - 0x178]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x178]
xor ecx, ecx
mov edx, 0x313d28e4
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x64], eax
push ebp
lea ecx, [ebp - 0x17c]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x17c]
xor ecx, ecx
mov edx, 0x313d2910
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x68], eax
push ebp
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0x184]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x184]
xor ecx, ecx
mov edx, 0x313d2944
call fcn.313cf6d0
pop ecx
mov edx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
lea eax, [eax + esi*8 + 0x6c]
call fcn.31236df0
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
mov eax, dword [eax + esi*8 + 0x6c]
mov edx, 0x313d2814
call fcn.312374d8
je 0x313d066f
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
lea edx, [eax + esi*8 + 0x70]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
mov eax, dword [eax + esi*8 + 0x6c]
call fcn.3139c7d4
push ebp
lea ecx, [ebp - 0x188]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov edx, 0x313d2970
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x74], eax
push ebp
lea ecx, [ebp - 0x18c]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x18c]
mov ecx, 0xffffff
mov edx, 0x313d299c
call fcn.313cf7e0
pop ecx
call fcn.312858e8
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x78], eax
push ebp
lea ecx, [ebp - 0x190]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x190]
xor ecx, ecx
mov edx, 0x313d29b4
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov byte [edx + esi*8 + 0x80], al
push ebp
lea ecx, [ebp - 0x194]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x194]
mov ecx, 0xffffff
mov edx, 0x313d29d0
call fcn.313cf7e0
pop ecx
call fcn.312858e8
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + esi*8 + 0x7c], eax
push ebp
lea ecx, [ebp - 0x198]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x198]
xor ecx, ecx
mov edx, 0x313d29e8
call fcn.313cf7e0
pop ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov byte [edx + esi*8 + 0x81], al
inc ebx
dec dword [ebp - 0xb8]
jne 0x313cfe43
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x313d10a2
cmp dword [ebp - 0xa8], 0
je 0x313d07c6
lea eax, [ebp - 0xa8]
call fcn.3124bdd0
ret
mov dword [ebp - 0xb4], 0xffffffff
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x44]
call fcn.31267274
dec eax
test eax, eax
jl 0x313d0828
inc eax
mov dword [ebp - 0xb8], eax
xor ebx, ebx
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x44]
mov edx, ebx
call fcn.313d4150
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x38]
call fcn.312374d8
jne 0x313d081f
mov dword [ebp - 0xb4], ebx
jmp 0x313d0828
inc ebx
dec dword [ebp - 0xb8]
jne 0x313d07f4
cmp dword [ebp - 0xb4], 0xffffffff
je 0x313d20ef
push 0
mov eax, dword [ebp - 0xa4]
add eax, 0x9c
mov ecx, 1
mov edx, dword [0x3139cebc]
call fcn.312387c4
add esp, 4
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xb4]
call fcn.313d4150
mov esi, dword [eax + 0x14]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xb4]
call fcn.313d4150
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov ecx, dword [eax + 0x20]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x24]
mov dword [edx + 0x14], ecx
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xb4]
call fcn.313d4150
mov edx, dword [eax + 0x2c]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x90]
add eax, 0x18
call fcn.31236df0
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xb4]
call fcn.313d4150
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x90]
add eax, 0x1c
call fcn.31236df0
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xb4]
call fcn.313d4150
mov eax, dword [eax + 0x34]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov dword [edx + 0x20], eax
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xb4]
call fcn.313d4150
movzx eax, word [eax + 0x30]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x24], ax
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xb4]
call fcn.313d4150
movzx eax, word [eax + 0x38]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x26], ax
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xb4]
call fcn.313d4150
movzx eax, word [eax + 0x3c]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov word [edx + 0x28], ax
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xb4]
call fcn.313d4150
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x90]
mov dword [edx + 0x3c], eax
mov eax, dword [ebp - 0xa4]
call fcn.313d3c6c
mov eax, esi
call fcn.31267274
dec eax
test eax, eax
jl 0x313d10a2
inc eax
mov dword [ebp - 0xb8], eax
xor ebx, ebx
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
call fcn.312385fc
inc eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xa4]
add eax, 0x9c
mov ecx, 1
mov edx, dword [0x3139cebc]
call fcn.312387c4
add esp, 4
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov edx, dword [eax + 0x48]
imul edi, ebx, 0x13
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
lea eax, [eax + edi*8 + 4]
call fcn.31236df0
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
lea eax, [eax + edi*8]
call fcn.31236df0
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 8], eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
movzx eax, byte [eax + 0x50]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov byte [edx + edi*8 + 0x40], al
mov edx, ebx
mov eax, esi
call fcn.313d7394
movzx eax, byte [eax + 0x51]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov byte [edx + edi*8 + 0x34], al
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x38], eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x58]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x3c], eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x44], eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x2c]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x48], eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x54], eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
lea eax, [eax + edi*8 + 0x4c]
call fcn.31236df0
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
lea edx, [edx + edi*8 + 0x50]
call fcn.3139c7d4
mov edx, ebx
mov eax, esi
call fcn.313d7394
movzx eax, byte [eax + 0x10]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov byte [edx + edi*8 + 0x58], al
mov edx, ebx
mov eax, esi
call fcn.313d7394
movzx eax, byte [eax + 0x11]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov byte [edx + edi*8 + 0x59], al
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x5c], eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x60], eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x64], eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x28]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x68], eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
lea eax, [eax + edi*8 + 0x6c]
call fcn.31236df0
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x34]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
lea edx, [edx + edi*8 + 0x70]
call fcn.3139c7d4
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x74], eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x64]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x78], eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
movzx eax, byte [eax + 0x5c]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov byte [edx + edi*8 + 0x80], al
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x7c], eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
movzx eax, byte [eax + 0x68]
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov byte [edx + edi*8 + 0x81], al
mov edx, ebx
mov eax, esi
call fcn.313d7394
cmp dword [eax + 0x24], 0
je 0x313d0e63
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x24]
mov edx, 0x313d29f4
call fcn.31414628
cmp eax, 5
jne 0x313d0e63
lea eax, [ebp - 0x19c]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov edx, dword [eax + 0x24]
mov ecx, 0x313d29f4
mov eax, 1
call fcn.314144b4
mov eax, dword [ebp - 0x19c]
call fcn.312440dc
imul edi, ebx, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x20], eax
lea eax, [ebp - 0x1a0]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov edx, dword [eax + 0x24]
mov ecx, 0x313d29f4
mov eax, 2
call fcn.314144b4
mov eax, dword [ebp - 0x1a0]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x24], eax
lea eax, [ebp - 0x1a4]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov edx, dword [eax + 0x24]
mov ecx, 0x313d29f4
mov eax, 3
call fcn.314144b4
mov eax, dword [ebp - 0x1a4]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x28], eax
lea eax, [ebp - 0x1a8]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov edx, dword [eax + 0x24]
mov ecx, 0x313d29f4
mov eax, 4
call fcn.314144b4
mov eax, dword [ebp - 0x1a8]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x2c], eax
lea eax, [ebp - 0x1ac]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov edx, dword [eax + 0x24]
mov ecx, 0x313d29f4
mov eax, 5
call fcn.314144b4
mov eax, dword [ebp - 0x1ac]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x30], eax
jmp 0x313d0ec8
imul eax, ebx, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
xor ecx, ecx
mov dword [edx + eax*8 + 0x20], ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + eax*8 + 0x24], 0xffffffff
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + eax*8 + 0x28], 0xffffffff
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + eax*8 + 0x2c], 0xffffffff
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + eax*8 + 0x30], 0xffffffff
mov edx, ebx
mov eax, esi
call fcn.313d7394
cmp dword [eax + 0x4c], 0
je 0x313d1030
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov eax, dword [eax + 0x4c]
mov edx, 0x313d29f4
call fcn.31414628
cmp eax, 5
jne 0x313d1030
lea eax, [ebp - 0x1b0]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov edx, dword [eax + 0x4c]
mov ecx, 0x313d29f4
mov eax, 1
call fcn.314144b4
mov eax, dword [ebp - 0x1b0]
call fcn.312440dc
imul edi, ebx, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0xc], eax
lea eax, [ebp - 0x1b4]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov edx, dword [eax + 0x4c]
mov ecx, 0x313d29f4
mov eax, 2
call fcn.314144b4
mov eax, dword [ebp - 0x1b4]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x10], eax
lea eax, [ebp - 0x1b8]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov edx, dword [eax + 0x4c]
mov ecx, 0x313d29f4
mov eax, 3
call fcn.314144b4
mov eax, dword [ebp - 0x1b8]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x14], eax
lea eax, [ebp - 0x1bc]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov edx, dword [eax + 0x4c]
mov ecx, 0x313d29f4
mov eax, 4
call fcn.314144b4
mov eax, dword [ebp - 0x1bc]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x18], eax
lea eax, [ebp - 0x1c0]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov edx, dword [eax + 0x4c]
mov ecx, 0x313d29f4
mov eax, 5
call fcn.314144b4
mov eax, dword [ebp - 0x1c0]
call fcn.312440dc
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + edi*8 + 0x1c], eax
jmp 0x313d1095
imul eax, ebx, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
xor ecx, ecx
mov dword [edx + eax*8 + 0xc], ecx
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + eax*8 + 0x10], 0xffffffff
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + eax*8 + 0x14], 0xffffffff
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + eax*8 + 0x18], 0xffffffff
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov dword [edx + eax*8 + 0x1c], 0xffffffff
inc ebx
dec dword [ebp - 0xb8]
jne 0x313d09d6
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x64]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x313d20b6
mov dl, 1
mov eax, dword [0x3125d548]
call fcn.3126962c
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x64]
mov edx, dword [ebp - 0xa8]
call fcn.31413ee4
xor edx, edx
push ebp
push 0x313d20af
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0xa8]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x313d204c
inc eax
mov dword [ebp - 0xb8], eax
xor ebx, ebx
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
call fcn.312385fc
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0x9c]
xor edx, edx
call fcn.31236e44
mov dword [ebp - 0xb4], 0xffffffff
mov eax, dword [ebp - 0xb0]
dec eax
test eax, eax
jl 0x313d11b2
inc eax
mov dword [ebp - 0xbc], eax
xor esi, esi
lea ecx, [ebp - 0x1c4]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x1c4]
imul eax, esi, 0x13
mov ecx, dword [ebp - 0xa4]
mov ecx, dword [ecx + 0x9c]
mov eax, dword [ecx + eax*8 + 4]
call fcn.312374d8
jne 0x313d11a9
lea eax, [ebp - 0xa0]
imul edx, esi, 0x13
mov ecx, dword [ebp - 0xa4]
mov ecx, dword [ecx + 0x9c]
lea edx, [ecx + edx*8]
mov ecx, dword [0x3139cb20]
call fcn.31237df8
mov dword [ebp - 0xb4], esi
jmp 0x313d11b2
inc esi
dec dword [ebp - 0xbc]
jne 0x313d114b
xor eax, eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0x9c], 0
jne 0x313d12e1
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
call fcn.312385fc
inc eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xa4]
add eax, 0x9c
mov ecx, 1
mov edx, dword [0x3139cebc]
call fcn.312387c4
add esp, 4
lea ecx, [ebp - 0x1c8]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov esi, dword [eax]
call dword [esi + 0xc]
mov edx, dword [ebp - 0x1c8]
lea eax, [ebp - 0x9c]
call fcn.31236e44
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0xac], eax
push 0x313d2560
push 0x313d2308
lea eax, [ebp - 0x1d0]
push eax
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.31414044
mov eax, dword [ebp - 0x1d0]
lea edx, [ebp - 0x1cc]
call fcn.312430a0
mov edx, dword [ebp - 0x1cc]
lea eax, [ebp - 0xa0]
call fcn.31236e44
or esi, 0xffffffff
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x9c]
call fcn.312385fc
dec eax
test eax, eax
jl 0x313d12e1
inc eax
mov dword [ebp - 0xbc], eax
xor edi, edi
imul eax, edi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 4]
lea edx, [ebp - 0x1d4]
call fcn.312430a0
mov eax, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0xa0]
call fcn.312374d8
jne 0x313d12d8
mov esi, edi
jmp 0x313d12e1
inc edi
dec dword [ebp - 0xbc]
jne 0x313d12a3
cmp dword [ebp - 0xac], 0
je 0x313d203f
push 0x313d2584
push 0xffffffffffffffff
lea ecx, [ebp - 0x1d8]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d1350
cmp esi, 0xffffffff
jle 0x313d1344
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 8]
mov dword [ebp - 0x98], eax
jmp 0x313d1356
mov dword [ebp - 0x98], 0xffffff
jmp 0x313d1356
mov dword [ebp - 0x98], eax
push 0x313d25b4
push 0x313d2a20
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x1e0]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.31414044
mov eax, dword [ebp - 0x1dc]
lea edx, [ebp - 8]
call fcn.312430a0
mov eax, dword [ebp - 8]
mov edx, 0x313d2a20
call fcn.312374d8
jne 0x313d13d2
cmp esi, 0xffffffff
jle 0x313d13cc
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
movzx eax, byte [edx + eax*8 + 0x40]
mov byte [ebp - 0x60], al
jmp 0x313d13e5
mov byte [ebp - 0x60], 0
jmp 0x313d13e5
mov edx, 0x313d25e0
mov eax, dword [ebp - 8]
call fcn.312374d8
sete al
mov byte [ebp - 0x60], al
push 0x313d25f8
push 0x313d2a20
lea eax, [ebp - 0x1e4]
push eax
lea ecx, [ebp - 0x1e8]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x1e8]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.31414044
mov eax, dword [ebp - 0x1e4]
lea edx, [ebp - 8]
call fcn.312430a0
mov eax, dword [ebp - 8]
mov edx, 0x313d2a20
call fcn.312374d8
jne 0x313d1461
cmp esi, 0xffffffff
jle 0x313d145b
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
movzx eax, byte [edx + eax*8 + 0x34]
mov byte [ebp - 0x6c], al
jmp 0x313d1474
mov byte [ebp - 0x6c], 0
jmp 0x313d1474
mov edx, 0x313d25e0
mov eax, dword [ebp - 8]
call fcn.312374d8
sete al
mov byte [ebp - 0x6c], al
push 0x313d261c
push 0
lea ecx, [ebp - 0x1ec]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x1ec]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d14ce
cmp esi, 0xffffffff
jle 0x313d14c7
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x38]
mov dword [ebp - 0x68], eax
jmp 0x313d14d1
xor eax, eax
mov dword [ebp - 0x68], eax
jmp 0x313d14d1
mov dword [ebp - 0x68], eax
push 0x313d2634
push 0
lea ecx, [ebp - 0x1f0]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d152b
cmp esi, 0xffffffff
jle 0x313d1524
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x3c]
mov dword [ebp - 0x64], eax
jmp 0x313d152e
xor eax, eax
mov dword [ebp - 0x64], eax
jmp 0x313d152e
mov dword [ebp - 0x64], eax
push 0x313d2658
push 0xffffffffffffffff
lea ecx, [ebp - 0x1f4]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d158e
cmp esi, 0xffffffff
jle 0x313d1584
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0xc]
mov dword [ebp - 0x94], eax
jmp 0x313d1594
xor eax, eax
mov dword [ebp - 0x94], eax
jmp 0x313d1594
mov dword [ebp - 0x94], eax
push 0x313d2678
push 0xffffffffffffffff
lea ecx, [ebp - 0x1f8]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d15f6
cmp esi, 0xffffffff
jle 0x313d15ea
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x10]
mov dword [ebp - 0x90], eax
jmp 0x313d15fc
mov dword [ebp - 0x90], 0xffffffff
jmp 0x313d15fc
mov dword [ebp - 0x90], eax
push 0x313d2694
push 0xffffffffffffffff
lea ecx, [ebp - 0x1fc]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d165e
cmp esi, 0xffffffff
jle 0x313d1652
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x14]
mov dword [ebp - 0x8c], eax
jmp 0x313d1664
mov dword [ebp - 0x8c], 0xffffffff
jmp 0x313d1664
mov dword [ebp - 0x8c], eax
push 0x313d26ac
push 0xffffffffffffffff
lea ecx, [ebp - 0x200]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x200]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d16c6
cmp esi, 0xffffffff
jle 0x313d16ba
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x18]
mov dword [ebp - 0x88], eax
jmp 0x313d16cc
mov dword [ebp - 0x88], 0xffffffff
jmp 0x313d16cc
mov dword [ebp - 0x88], eax
push 0x313d26c8
push 0xffffffffffffffff
lea ecx, [ebp - 0x204]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x204]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d172e
cmp esi, 0xffffffff
jle 0x313d1722
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x1c]
mov dword [ebp - 0x84], eax
jmp 0x313d1734
mov dword [ebp - 0x84], 0xffffffff
jmp 0x313d1734
mov dword [ebp - 0x84], eax
push 0x313d26e8
push 0xffffffffffffffff
lea ecx, [ebp - 0x208]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x208]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d178e
cmp esi, 0xffffffff
jle 0x313d1787
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x20]
mov dword [ebp - 0x80], eax
jmp 0x313d1791
xor eax, eax
mov dword [ebp - 0x80], eax
jmp 0x313d1791
mov dword [ebp - 0x80], eax
push 0x313d2710
push 0xffffffffffffffff
lea ecx, [ebp - 0x20c]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d17ed
cmp esi, 0xffffffff
jle 0x313d17e4
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x24]
mov dword [ebp - 0x7c], eax
jmp 0x313d17f0
mov dword [ebp - 0x7c], 0xffffffff
jmp 0x313d17f0
mov dword [ebp - 0x7c], eax
push 0x313d2730
push 0xffffffffffffffff
lea ecx, [ebp - 0x210]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x210]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d184c
cmp esi, 0xffffffff
jle 0x313d1843
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x28]
mov dword [ebp - 0x78], eax
jmp 0x313d184f
mov dword [ebp - 0x78], 0xffffffff
jmp 0x313d184f
mov dword [ebp - 0x78], eax
push 0x313d2750
push 0xffffffffffffffff
lea ecx, [ebp - 0x214]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x214]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d18ab
cmp esi, 0xffffffff
jle 0x313d18a2
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x2c]
mov dword [ebp - 0x74], eax
jmp 0x313d18ae
mov dword [ebp - 0x74], 0xffffffff
jmp 0x313d18ae
mov dword [ebp - 0x74], eax
push 0x313d2774
push 0xffffffffffffffff
lea ecx, [ebp - 0x218]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d190a
cmp esi, 0xffffffff
jle 0x313d1901
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x30]
mov dword [ebp - 0x70], eax
jmp 0x313d190d
mov dword [ebp - 0x70], 0xffffffff
jmp 0x313d190d
mov dword [ebp - 0x70], eax
push 0x313d2798
push 0xffffffffffffffff
lea ecx, [ebp - 0x21c]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d1967
cmp esi, 0xffffffff
jle 0x313d1960
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x44]
mov dword [ebp - 0x5c], eax
jmp 0x313d196a
xor eax, eax
mov dword [ebp - 0x5c], eax
jmp 0x313d196a
mov dword [ebp - 0x5c], eax
push 0x313d27c0
push 0xffffffffffffffff
lea ecx, [ebp - 0x220]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d19c4
cmp esi, 0xffffffff
jle 0x313d19bd
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x48]
mov dword [ebp - 0x58], eax
jmp 0x313d19c7
xor eax, eax
mov dword [ebp - 0x58], eax
jmp 0x313d19c7
mov dword [ebp - 0x58], eax
push 0x313d27ec
push 0xffffffffffffffff
lea ecx, [ebp - 0x224]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x224]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d1a21
cmp esi, 0xffffffff
jle 0x313d1a1a
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x54]
mov dword [ebp - 0x4c], eax
jmp 0x313d1a24
xor eax, eax
mov dword [ebp - 0x4c], eax
jmp 0x313d1a24
mov dword [ebp - 0x4c], eax
push 0x313d2824
push 0x313d2a20
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x228]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x228]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.31414044
mov eax, dword [ebp - 8]
mov edx, 0x313d2a20
call fcn.312374d8
jne 0x313d1a9c
cmp esi, 0xffffffff
jle 0x313d1a8d
lea eax, [ebp - 0x54]
imul edx, esi, 0x13
mov ecx, dword [ebp - 0xa4]
mov ecx, dword [ecx + 0x9c]
mov edx, dword [ecx + edx*8 + 0x4c]
call fcn.31236e44
jmp 0x313d1aa7
lea eax, [ebp - 0x54]
mov edx, 0x313d2814
call fcn.31236e44
jmp 0x313d1aa7
lea eax, [ebp - 0x54]
mov edx, dword [ebp - 8]
call fcn.31236e44
mov eax, dword [ebp - 0x54]
mov edx, 0x313d2814
call fcn.312374d8
je 0x313d1ac1
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 0x54]
call fcn.3139c7d4
push 0x313d284c
push 0x313d2a20
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x230]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x230]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.31414044
mov eax, dword [ebp - 0x22c]
lea edx, [ebp - 8]
call fcn.312430a0
mov eax, dword [ebp - 8]
mov edx, 0x313d2a20
call fcn.312374d8
jne 0x313d1b3d
cmp esi, 0xffffffff
jle 0x313d1b37
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
movzx eax, byte [edx + eax*8 + 0x58]
mov byte [ebp - 0x48], al
jmp 0x313d1b50
mov byte [ebp - 0x48], 0
jmp 0x313d1b50
mov edx, 0x313d25e0
mov eax, dword [ebp - 8]
call fcn.312374d8
sete al
mov byte [ebp - 0x48], al
push 0x313d286c
push 0x313d2a20
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x238]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.31414044
mov eax, dword [ebp - 0x234]
lea edx, [ebp - 8]
call fcn.312430a0
mov eax, dword [ebp - 8]
mov edx, 0x313d2a20
call fcn.312374d8
jne 0x313d1bcc
cmp esi, 0xffffffff
jle 0x313d1bc6
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
movzx eax, byte [edx + eax*8 + 0x59]
mov byte [ebp - 0x47], al
jmp 0x313d1bdf
mov byte [ebp - 0x47], 0
jmp 0x313d1bdf
mov edx, 0x313d25e0
mov eax, dword [ebp - 8]
call fcn.312374d8
sete al
mov byte [ebp - 0x47], al
push 0x313d2894
push 0xffffffffffffffff
lea ecx, [ebp - 0x23c]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d1c3b
cmp esi, 0xffffffff
jle 0x313d1c32
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x5c]
mov dword [ebp - 0x44], eax
jmp 0x313d1c3e
mov dword [ebp - 0x44], 5
jmp 0x313d1c3e
mov dword [ebp - 0x44], eax
push 0x313d28c4
push 0xffffffffffffffff
lea ecx, [ebp - 0x240]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x240]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d1c9a
cmp esi, 0xffffffff
jle 0x313d1c91
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x60]
mov dword [ebp - 0x40], eax
jmp 0x313d1c9d
mov dword [ebp - 0x40], 0xffffff
jmp 0x313d1c9d
mov dword [ebp - 0x40], eax
push 0x313d28e4
push 0xffffffffffffffff
lea ecx, [ebp - 0x244]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x244]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d1cf7
cmp esi, 0xffffffff
jle 0x313d1cf0
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x64]
mov dword [ebp - 0x3c], eax
jmp 0x313d1cfa
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x313d1cfa
mov dword [ebp - 0x3c], eax
push 0x313d2910
push 0xffffffffffffffff
lea ecx, [ebp - 0x248]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x248]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d1d54
cmp esi, 0xffffffff
jle 0x313d1d4d
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x68]
mov dword [ebp - 0x38], eax
jmp 0x313d1d57
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x313d1d57
mov dword [ebp - 0x38], eax
push 0x313d2944
push 0x313d2a20
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x24c]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.31414044
mov eax, dword [ebp - 8]
mov edx, 0x313d2a20
call fcn.312374d8
jne 0x313d1dcc
cmp esi, 0xffffffff
jle 0x313d1dc0
lea eax, [ebp - 0x34]
imul edx, esi, 0x13
mov ecx, dword [ebp - 0xa4]
mov ecx, dword [ecx + 0x9c]
mov edx, dword [ecx + edx*8 + 0x6c]
call fcn.31236e44
jmp 0x313d1dd7
lea eax, [ebp - 0x34]
xor edx, edx
call fcn.31236e44
jmp 0x313d1dd7
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 8]
call fcn.31236e44
mov eax, dword [ebp - 0x34]
mov edx, 0x313d2814
call fcn.312374d8
je 0x313d1df1
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0x34]
call fcn.3139c7d4
push 0x313d2970
push 0xffffffffffffffff
lea ecx, [ebp - 0x250]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x250]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d1e4b
cmp esi, 0xffffffff
jle 0x313d1e44
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x74]
mov dword [ebp - 0x2c], eax
jmp 0x313d1e4e
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x313d1e4e
mov dword [ebp - 0x2c], eax
push 0x313d299c
push 0xffffffffffffffff
lea ecx, [ebp - 0x254]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d1eaa
cmp esi, 0xffffffff
jle 0x313d1ea1
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x78]
mov dword [ebp - 0x28], eax
jmp 0x313d1ead
mov dword [ebp - 0x28], 0xffffff
jmp 0x313d1ead
mov dword [ebp - 0x28], eax
push 0x313d29b4
push 0
lea ecx, [ebp - 0x258]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x258]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d1f0a
cmp esi, 0xffffffff
jle 0x313d1f04
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
movzx eax, byte [edx + eax*8 + 0x80]
mov byte [ebp - 0x20], al
jmp 0x313d1f0d
mov byte [ebp - 0x20], 0
jmp 0x313d1f0d
mov byte [ebp - 0x20], al
push 0x313d29d0
push 0xffffffffffffffff
lea ecx, [ebp - 0x25c]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d1f69
cmp esi, 0xffffffff
jle 0x313d1f60
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
mov eax, dword [edx + eax*8 + 0x7c]
mov dword [ebp - 0x24], eax
jmp 0x313d1f6c
mov dword [ebp - 0x24], 0xffffff
jmp 0x313d1f6c
mov dword [ebp - 0x24], eax
push 0x313d29e8
push 0
lea ecx, [ebp - 0x260]
mov edx, ebx
mov eax, dword [ebp - 0xa8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
call fcn.314140fc
cmp eax, 0xffffffff
jne 0x313d1fc9
cmp esi, 0xffffffff
jle 0x313d1fc3
imul eax, esi, 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
movzx eax, byte [edx + eax*8 + 0x81]
mov byte [ebp - 0x1f], al
jmp 0x313d1fcc
mov byte [ebp - 0x1f], 0
jmp 0x313d1fcc
mov byte [ebp - 0x1f], al
cmp dword [ebp - 0x9c], 0
je 0x313d203f
cmp dword [ebp - 0xb4], 0xffffffff
jle 0x313d2007
imul eax, dword [ebp - 0xb4], 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
lea eax, [edx + eax*8]
lea edx, [ebp - 0xa0]
mov ecx, dword [0x3139cb20]
call fcn.31237df8
jmp 0x313d2032
imul eax, dword [ebp - 0xb0], 0x13
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x9c]
lea eax, [edx + eax*8 - 0x98]
lea edx, [ebp - 0xa0]
mov ecx, dword [0x3139cb20]
call fcn.31237df8
lea eax, [ebp - 0x9c]
xor edx, edx
call fcn.31236e44
inc ebx
dec dword [ebp - 0xb8]
jne 0x313d1109
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x313d20b6
cmp dword [ebp - 0xa8], 0
je 0x313d20ae
jmp 0x313d2094
xor edx, edx
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
call dword [ecx + 0x18]
test eax, eax
je 0x313d2087
xor edx, edx
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
call dword [ecx + 0x18]
call fcn.312350bc
xor edx, edx
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0xa8]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jg 0x313d2064
lea eax, [ebp - 0xa8]
call fcn.3124bdd0
ret
mov eax, dword [ebp - 0xa4]
call fcn.313ca8d0
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax + 0x158]
mov eax, dword [ebp - 0xa4]
call fcn.313c83fc
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax + 0x15c]
mov eax, dword [ebp - 0xa4]
call fcn.313c77d8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x313d213d
lea eax, [ebp - 0x260]
mov edx, 0x64
call fcn.31236de8
lea eax, [ebp - 0xd0]
mov edx, 5
call fcn.31236de8
lea eax, [ebp - 0xa0]
mov edx, dword [0x3139cb20]
call fcn.31237b68
lea eax, [ebp - 8]
call fcn.31236de0
ret