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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x318
mov rax, qword [0x1400f1290]
xor rax, rsp
mov qword [rsp + 0x300], rax
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x11c], 0
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x110], 0
mov dword [rsp + 0x1a8], 0
mov r8d, 5
xor edx, edx
lea rcx, [rsp + 0x104]
call fcn.1400c2980
mov dword [rsp + 0xc8], 0
mov qword [rsp + 0xd8], 0
mov rax, qword [rsp + 0x320]
mov rax, qword [rax + 0x48]
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x330], 0
jne 0x14004a6ef
mov eax, 7
jmp 0x14004c555
mov rax, qword [rsp + 0x320]
movzx eax, byte [rax + 1]
mov rcx, qword [rsp + 0x320]
movzx ecx, word [rcx + 0x12]
add eax, ecx
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 2
jge 0x14004a71e
mov dword [rsp + 0x70], 0
jmp 0x14004a771
cmp dword [rsp + 0x328], 0
jne 0x14004a732
mov dword [rsp + 0x70], 0
jmp 0x14004a761
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x328], eax
jne 0x14004a754
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x340]
lea eax, [rax + rcx - 2]
mov dword [rsp + 0x70], eax
jmp 0x14004a761
mov eax, dword [rsp + 0x328]
dec eax
mov dword [rsp + 0x70], eax
mov eax, 2
sub eax, dword [rsp + 0x340]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x118], eax
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x68]
add ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x320]
movzx ecx, byte [rcx + 1]
sub eax, ecx
mov rcx, qword [rsp + 0x320]
movzx ecx, word [rcx + 0x12]
cmp eax, ecx
jne 0x14004a7cc
mov rax, qword [rsp + 0x320]
movzx eax, byte [rax + 5]
add eax, 8
cdqe
mov rcx, qword [rsp + 0x320]
add rax, qword [rcx + 0x50]
mov qword [rsp + 0x60], rax
jmp 0x14004a823
mov rax, qword [rsp + 0x320]
movzx eax, word [rax + 0x14]
mov ecx, dword [rsp + 0x70]
mov edx, dword [rsp + 0x68]
add edx, ecx
mov ecx, edx
mov rdx, qword [rsp + 0x320]
movzx edx, byte [rdx + 1]
sub ecx, edx
shl ecx, 1
movsxd rcx, ecx
mov rdx, qword [rsp + 0x320]
mov rdx, qword [rdx + 0x60]
movzx ecx, word [rdx + rcx]
ror cx, 8
movzx ecx, cx
and eax, ecx
cdqe
mov rcx, qword [rsp + 0x320]
add rax, qword [rcx + 0x50]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x60]
call fcn.140022420
mov dword [rsp + 0x6c], eax
xor eax, eax
cmp eax, 1
je 0x14004ab43
movsxd rax, dword [rsp + 0x68]
lea rax, [rsp + rax*8 + 0x178]
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rax
mov edx, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x48]
call fcn.140046770
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x14004a893
mov eax, dword [rsp + 0x68]
inc eax
cdqe
shl rax, 3
mov r8, rax
xor edx, edx
lea rcx, [rsp + 0x178]
call fcn.1400c2980
jmp 0x14004c4da
movsxd rax, dword [rsp + 0x68]
mov rax, qword [rsp + rax*8 + 0x178]
movzx eax, word [rax + 0x12]
movsxd rcx, dword [rsp + 0x68]
mov rcx, qword [rsp + rcx*8 + 0x178]
movzx ecx, byte [rcx + 1]
add ecx, dword [rsp + 0x50]
lea eax, [rcx + rax + 1]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x68]
dec ecx
mov dword [rsp + 0x68], ecx
test eax, eax
jne 0x14004a8d8
jmp 0x14004ab43
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x68]
add ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x320]
movzx ecx, word [rcx + 0x16]
cmp eax, ecx
jne 0x14004a96a
mov rax, qword [rsp + 0x320]
movzx eax, byte [rax + 1]
test eax, eax
je 0x14004a96a
movsxd rax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x320]
mov rcx, qword [rcx + 0x20]
mov qword [rsp + rax*8 + 0x78], rcx
movsxd rax, dword [rsp + 0x68]
mov rcx, qword [rsp + rax*8 + 0x78]
call fcn.140022420
mov dword [rsp + 0x6c], eax
movsxd rax, dword [rsp + 0x68]
mov rdx, qword [rsp + rax*8 + 0x78]
mov rcx, qword [rsp + 0x320]
mov rax, qword [rsp + 0x320]
call qword [rax + 0x78]
movsxd rcx, dword [rsp + 0x68]
movzx eax, ax
mov dword [rsp + rcx*4 + 0x190], eax
mov rax, qword [rsp + 0x320]
mov byte [rax + 1], 0
jmp 0x14004ab3e
mov rax, qword [rsp + 0x320]
movzx eax, word [rax + 0x14]
mov ecx, dword [rsp + 0x70]
mov edx, dword [rsp + 0x68]
add edx, ecx
mov ecx, edx
mov rdx, qword [rsp + 0x320]
movzx edx, byte [rdx + 1]
sub ecx, edx
shl ecx, 1
movsxd rcx, ecx
mov rdx, qword [rsp + 0x320]
mov rdx, qword [rdx + 0x60]
movzx ecx, word [rdx + rcx]
ror cx, 8
movzx ecx, cx
and eax, ecx
cdqe
mov rcx, qword [rsp + 0x320]
add rax, qword [rcx + 0x50]
movsxd rcx, dword [rsp + 0x68]
mov qword [rsp + rcx*8 + 0x78], rax
movsxd rax, dword [rsp + 0x68]
mov rcx, qword [rsp + rax*8 + 0x78]
call fcn.140022420
mov dword [rsp + 0x6c], eax
movsxd rax, dword [rsp + 0x68]
mov rdx, qword [rsp + rax*8 + 0x78]
mov rcx, qword [rsp + 0x320]
mov rax, qword [rsp + 0x320]
call qword [rax + 0x78]
movsxd rcx, dword [rsp + 0x68]
movzx eax, ax
mov dword [rsp + rcx*4 + 0x190], eax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 0x26]
and eax, 4
test eax, eax
je 0x14004ab03
movsxd rax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x320]
mov ecx, dword [rcx + 0x50]
mov eax, dword [rsp + rax*8 + 0x78]
sub eax, ecx
mov dword [rsp + 0x1b4], eax
movsxd rax, dword [rsp + 0x68]
mov eax, dword [rsp + rax*4 + 0x190]
mov ecx, dword [rsp + 0x1b4]
add ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x48]
cmp eax, dword [rcx + 0x34]
jle 0x14004aa8a
mov ecx, 0x10269
call fcn.1400be020
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x68]
inc eax
cdqe
shl rax, 3
mov r8, rax
xor edx, edx
lea rcx, [rsp + 0x178]
call fcn.1400c2980
jmp 0x14004c4da
movsxd rax, dword [rsp + 0x68]
movsxd rax, dword [rsp + rax*4 + 0x190]
movsxd rcx, dword [rsp + 0x68]
movsxd rdx, dword [rsp + 0x1b4]
mov r8, qword [rsp + 0x330]
add r8, rdx
mov rdx, r8
mov qword [rsp + 0x2b8], rdx
mov r8, rax
mov rdx, qword [rsp + rcx*8 + 0x78]
mov rax, qword [rsp + 0x2b8]
mov rcx, rax
call fcn.1400c2b10
movsxd rax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x320]
mov rcx, qword [rcx + 0x50]
mov rax, qword [rsp + rax*8 + 0x78]
sub rax, rcx
mov rcx, qword [rsp + 0x330]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x68]
mov qword [rsp + rcx*8 + 0x78], rax
movsxd rax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x70]
mov edx, dword [rsp + 0x68]
add edx, ecx
mov ecx, edx
mov rdx, qword [rsp + 0x320]
movzx edx, byte [rdx + 1]
sub ecx, edx
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + rax*4 + 0x190]
mov edx, ecx
mov rcx, qword [rsp + 0x320]
call fcn.140048bb0
jmp 0x14004a831
mov eax, dword [rsp + 0x50]
add eax, 3
and eax, 0xfffffffc
mov dword [rsp + 0x50], eax
movsxd rax, dword [rsp + 0x50]
movsxd rcx, dword [rsp + 0x50]
shl rcx, 1
lea rax, [rcx + rax*8]
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + 0x30]
add rax, rcx
mov dword [rsp + 0xa0], eax
mov ecx, dword [rsp + 0xa0]
call fcn.14004c580
mov qword [rsp + 0xd8], rax
cmp qword [rsp + 0xd8], 0
jne 0x14004aba0
mov dword [rsp + 0x40], 7
jmp 0x14004c4da
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0xd8]
lea rax, [rcx + rax*8]
mov qword [rsp + 0xe0], rax
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0xe0]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
movzx eax, byte [rax + 4]
shl eax, 2
mov word [rsp + 0x100], ax
mov rax, qword [rsp + 0xd0]
movzx eax, byte [rax + 3]
mov dword [rsp + 0x114], eax
mov dword [rsp + 0x68], 0
jmp 0x14004ac1d
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x118]
cmp dword [rsp + 0x68], eax
jge 0x14004b0bf
movsxd rax, dword [rsp + 0x68]
mov rax, qword [rsp + rax*8 + 0x178]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x1b8]
movzx eax, word [rax + 0x12]
mov dword [rsp + 0x1e0], eax
mov rax, qword [rsp + 0x1b8]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x1b8]
movzx eax, word [rax + 0x14]
mov word [rsp + 0x1c0], ax
mov rax, qword [rsp + 0x1b8]
movzx eax, word [rax + 0xe]
mov rcx, qword [rsp + 0x1d0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0x1b8]
mov rax, qword [rax + 0x50]
movzx eax, byte [rax]
mov rcx, qword [rsp + 0x178]
mov rcx, qword [rcx + 0x50]
movzx ecx, byte [rcx]
cmp eax, ecx
je 0x14004acd5
mov ecx, 0x102ad
call fcn.1400be020
mov dword [rsp + 0x40], eax
jmp 0x14004c4da
mov rax, qword [rsp + 0x1b8]
movzx eax, byte [rax + 1]
mov ecx, dword [rsp + 0x1e0]
add ecx, eax
mov eax, ecx
cdqe
shl rax, 1
movsxd rcx, dword [rsp + 0xc8]
mov rdx, qword [rsp + 0xe0]
lea rcx, [rdx + rcx*2]
mov r8, rax
xor edx, edx
call fcn.1400c2980
mov rax, qword [rsp + 0x1b8]
movzx eax, byte [rax + 1]
test eax, eax
jle 0x14004ae39
mov rax, qword [rsp + 0x1b8]
movzx eax, word [rax + 0x16]
mov dword [rsp + 0x1e0], eax
mov dword [rsp + 0x1b0], 0
jmp 0x14004ad53
mov eax, dword [rsp + 0x1b0]
inc eax
mov dword [rsp + 0x1b0], eax
mov eax, dword [rsp + 0x1e0]
cmp dword [rsp + 0x1b0], eax
jge 0x14004adcc
movzx eax, word [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1c8]
movzx ecx, word [rcx]
ror cx, 8
movzx ecx, cx
and eax, ecx
cdqe
mov rcx, qword [rsp + 0x1d0]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0xc8]
mov rdx, qword [rsp + 0xd8]
mov qword [rdx + rcx*8], rax
mov rax, qword [rsp + 0x1c8]
add rax, 2
mov qword [rsp + 0x1c8], rax
mov eax, dword [rsp + 0xc8]
inc eax
mov dword [rsp + 0xc8], eax
jmp 0x14004ad43
mov dword [rsp + 0x10c], 0
jmp 0x14004ade9
mov eax, dword [rsp + 0x10c]
inc eax
mov dword [rsp + 0x10c], eax
mov rax, qword [rsp + 0x1b8]
movzx eax, byte [rax + 1]
cmp dword [rsp + 0x10c], eax
jge 0x14004ae39
movsxd rax, dword [rsp + 0x10c]
movsxd rcx, dword [rsp + 0xc8]
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0x1b8]
mov rax, qword [r8 + rax*8 + 0x20]
mov qword [rdx + rcx*8], rax
mov eax, dword [rsp + 0xc8]
inc eax
mov dword [rsp + 0xc8], eax
jmp 0x14004add9
mov rax, qword [rsp + 0x1b8]
movzx eax, word [rax + 0xe]
mov rcx, qword [rsp + 0x1d0]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x1b8]
movzx ecx, word [rcx + 0x12]
shl ecx, 1
movsxd rcx, ecx
add rax, rcx
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0x1d8]
cmp qword [rsp + 0x1c8], rax
jae 0x14004aee7
movzx eax, word [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1c8]
movzx ecx, word [rcx]
ror cx, 8
movzx ecx, cx
and eax, ecx
cdqe
mov rcx, qword [rsp + 0x1d0]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0xc8]
mov rdx, qword [rsp + 0xd8]
mov qword [rdx + rcx*8], rax
mov rax, qword [rsp + 0x1c8]
add rax, 2
mov qword [rsp + 0x1c8], rax
mov eax, dword [rsp + 0xc8]
inc eax
mov dword [rsp + 0xc8], eax
jmp 0x14004ae6f
movsxd rax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0xc8]
mov dword [rsp + rax*4 + 0x120], ecx
mov eax, dword [rsp + 0x118]
dec eax
cmp dword [rsp + 0x68], eax
jge 0x14004b0ba
cmp dword [rsp + 0x114], 0
jne 0x14004b0ba
movsxd rax, dword [rsp + 0x68]
movzx eax, word [rsp + rax*4 + 0x190]
mov word [rsp + 0x1f0], ax
movsxd rax, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0xe0]
movzx edx, word [rsp + 0x1f0]
mov word [rcx + rax*2], dx
movsxd rax, dword [rsp + 0x110]
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1e8], rax
movzx eax, word [rsp + 0x1f0]
mov ecx, dword [rsp + 0x110]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x110], eax
movzx eax, word [rsp + 0x1f0]
movsxd rcx, dword [rsp + 0x68]
mov r8d, eax
mov rdx, qword [rsp + rcx*8 + 0x78]
mov rcx, qword [rsp + 0x1e8]
call fcn.1400c2b10
movzx eax, word [rsp + 0x100]
mov rcx, qword [rsp + 0x1e8]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0xc8]
mov rdx, qword [rsp + 0xd8]
mov qword [rdx + rcx*8], rax
movsxd rax, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0xe0]
movzx eax, word [rcx + rax*2]
movzx ecx, word [rsp + 0x100]
sub eax, ecx
movsxd rcx, dword [rsp + 0xc8]
mov rdx, qword [rsp + 0xe0]
mov word [rdx + rcx*2], ax
mov rax, qword [rsp + 0x1b8]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x14004b043
mov rax, qword [rsp + 0x1b8]
mov rax, qword [rax + 0x50]
add rax, 8
movsxd rcx, dword [rsp + 0xc8]
mov r8d, 4
mov rdx, rax
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rax + rcx*8]
call fcn.1400c2b10
jmp 0x14004b0aa
movsxd rax, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0xe0]
movzx eax, word [rcx + rax*2]
cmp eax, 4
jge 0x14004b0aa
movsxd rax, dword [rsp + 0x110]
mov rcx, qword [rsp + 0x58]
mov byte [rcx + rax], 0
mov eax, dword [rsp + 0x110]
inc eax
mov dword [rsp + 0x110], eax
movsxd rax, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0xe0]
movzx eax, word [rcx + rax*2]
inc ax
movsxd rcx, dword [rsp + 0xc8]
mov rdx, qword [rsp + 0xe0]
mov word [rdx + rcx*2], ax
jmp 0x14004b043
mov eax, dword [rsp + 0xc8]
inc eax
mov dword [rsp + 0xc8], eax
jmp 0x14004ac13
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x34]
movzx ecx, word [rsp + 0x100]
lea eax, [rax + rcx - 0xc]
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0x68], 0
jmp 0x14004b0ee
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x118]
cmp dword [rsp + 0x68], eax
jge 0x14004b202
movsxd rax, dword [rsp + 0x68]
mov rax, qword [rsp + rax*8 + 0x178]
mov qword [rsp + 0x1f8], rax
mov rax, qword [rsp + 0x1f8]
movzx eax, word [rax + 0x10]
mov ecx, dword [rsp + 0xc0]
sub ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x68]
mov dword [rsp + rcx*4 + 0x190], eax
movsxd rax, dword [rsp + 0x68]
cmp dword [rsp + rax*4 + 0x190], 0
jge 0x14004b159
mov ecx, 0x10310
call fcn.1400be020
mov dword [rsp + 0x40], eax
jmp 0x14004c4da
mov dword [rsp + 0x1b0], 0
jmp 0x14004b176
mov eax, dword [rsp + 0x1b0]
inc eax
mov dword [rsp + 0x1b0], eax
mov rax, qword [rsp + 0x1f8]
movzx eax, byte [rax + 1]
cmp dword [rsp + 0x1b0], eax
jge 0x14004b1e5
movsxd rax, dword [rsp + 0x68]
mov qword [rsp + 0x2c0], rax
movsxd rcx, dword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x1f8]
mov rdx, qword [rdx + rcx*8 + 0x20]
mov rcx, qword [rsp + 0x1f8]
mov r8, qword [rsp + 0x1f8]
call qword [r8 + 0x78]
movzx eax, ax
mov rcx, qword [rsp + 0x2c0]
mov ecx, dword [rsp + rcx*4 + 0x190]
lea eax, [rax + rcx + 2]
movsxd rcx, dword [rsp + 0x68]
mov dword [rsp + rcx*4 + 0x190], eax
jmp 0x14004b166
movsxd rax, dword [rsp + 0x68]
movsxd rcx, dword [rsp + 0x68]
mov eax, dword [rsp + rax*4 + 0x120]
mov dword [rsp + rcx*4 + 0xa8], eax
jmp 0x14004b0e4
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0x10c], eax
mov dword [rsp + 0x68], 0
jmp 0x14004b224
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x10c]
cmp dword [rsp + 0x68], eax
jge 0x14004b52c
movsxd rax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0xc0]
cmp dword [rsp + rax*4 + 0x190], ecx
jle 0x14004b399
mov eax, dword [rsp + 0x68]
inc eax
cmp eax, dword [rsp + 0x10c]
jl 0x14004b2b7
mov eax, dword [rsp + 0x68]
add eax, 2
mov dword [rsp + 0x10c], eax
cmp dword [rsp + 0x10c], 5
jle 0x14004b288
mov ecx, 0x1031c
call fcn.1400be020
mov dword [rsp + 0x40], eax
jmp 0x14004c4da
mov eax, dword [rsp + 0x10c]
dec eax
cdqe
mov dword [rsp + rax*4 + 0x190], 0
mov eax, dword [rsp + 0x10c]
dec eax
cdqe
mov ecx, dword [rsp + 0xc8]
mov dword [rsp + rax*4 + 0xa8], ecx
movsxd rax, dword [rsp + 0x68]
mov eax, dword [rsp + rax*4 + 0xa8]
dec eax
mov edx, eax
lea rcx, [rsp + 0xc8]
call fcn.14004c810
movzx eax, ax
add eax, 2
mov dword [rsp + 0x200], eax
movsxd rax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x200]
mov eax, dword [rsp + rax*4 + 0x190]
sub eax, ecx
movsxd rcx, dword [rsp + 0x68]
mov dword [rsp + rcx*4 + 0x190], eax
cmp dword [rsp + 0x114], 0
jne 0x14004b354
movsxd rax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0xc8]
cmp dword [rsp + rax*4 + 0xa8], ecx
jge 0x14004b349
movsxd rax, dword [rsp + 0x68]
mov edx, dword [rsp + rax*4 + 0xa8]
lea rcx, [rsp + 0xc8]
call fcn.14004c810
movzx eax, ax
add eax, 2
mov dword [rsp + 0x200], eax
jmp 0x14004b354
mov dword [rsp + 0x200], 0
mov eax, dword [rsp + 0x68]
inc eax
cdqe
mov eax, dword [rsp + rax*4 + 0x190]
add eax, dword [rsp + 0x200]
mov ecx, dword [rsp + 0x68]
inc ecx
movsxd rcx, ecx
mov dword [rsp + rcx*4 + 0x190], eax
movsxd rax, dword [rsp + 0x68]
mov eax, dword [rsp + rax*4 + 0xa8]
dec eax
movsxd rcx, dword [rsp + 0x68]
mov dword [rsp + rcx*4 + 0xa8], eax
jmp 0x14004b235
movsxd rax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0xc8]
cmp dword [rsp + rax*4 + 0xa8], ecx
jge 0x14004b4b1
movsxd rax, dword [rsp + 0x68]
mov edx, dword [rsp + rax*4 + 0xa8]
lea rcx, [rsp + 0xc8]
call fcn.14004c810
movzx eax, ax
add eax, 2
mov dword [rsp + 0x200], eax
movsxd rax, dword [rsp + 0x68]
mov eax, dword [rsp + rax*4 + 0x190]
add eax, dword [rsp + 0x200]
cmp eax, dword [rsp + 0xc0]
jle 0x14004b3f9
jmp 0x14004b4b1
movsxd rax, dword [rsp + 0x68]
mov eax, dword [rsp + rax*4 + 0x190]
add eax, dword [rsp + 0x200]
movsxd rcx, dword [rsp + 0x68]
mov dword [rsp + rcx*4 + 0x190], eax
movsxd rax, dword [rsp + 0x68]
mov eax, dword [rsp + rax*4 + 0xa8]
inc eax
movsxd rcx, dword [rsp + 0x68]
mov dword [rsp + rcx*4 + 0xa8], eax
cmp dword [rsp + 0x114], 0
jne 0x14004b484
movsxd rax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0xc8]
cmp dword [rsp + rax*4 + 0xa8], ecx
jge 0x14004b479
movsxd rax, dword [rsp + 0x68]
mov edx, dword [rsp + rax*4 + 0xa8]
lea rcx, [rsp + 0xc8]
call fcn.14004c810
movzx eax, ax
add eax, 2
mov dword [rsp + 0x200], eax
jmp 0x14004b484
mov dword [rsp + 0x200], 0
mov eax, dword [rsp + 0x68]
inc eax
cdqe
mov ecx, dword [rsp + 0x200]
mov eax, dword [rsp + rax*4 + 0x190]
sub eax, ecx
mov ecx, dword [rsp + 0x68]
inc ecx
movsxd rcx, ecx
mov dword [rsp + rcx*4 + 0x190], eax
jmp 0x14004b399
movsxd rax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0xc8]
cmp dword [rsp + rax*4 + 0xa8], ecx
jl 0x14004b4d5
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x10c], eax
jmp 0x14004b527
cmp dword [rsp + 0x68], 0
jle 0x14004b4f4
mov eax, dword [rsp + 0x68]
dec eax
cdqe
mov eax, dword [rsp + rax*4 + 0xa8]
mov dword [rsp + 0x2c8], eax
jmp 0x14004b4ff
mov dword [rsp + 0x2c8], 0
movsxd rax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x2c8]
cmp dword [rsp + rax*4 + 0xa8], ecx
jg 0x14004b527
mov ecx, 0x10340
call fcn.1400be020
mov dword [rsp + 0x40], eax
jmp 0x14004c4da
jmp 0x14004b21a
mov eax, dword [rsp + 0x10c]
dec eax
mov dword [rsp + 0x68], eax
jmp 0x14004b545
mov eax, dword [rsp + 0x68]
dec eax
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0
jle 0x14004b770
movsxd rax, dword [rsp + 0x68]
mov eax, dword [rsp + rax*4 + 0x190]
mov dword [rsp + 0x204], eax
mov eax, dword [rsp + 0x68]
dec eax
cdqe
mov eax, dword [rsp + rax*4 + 0x190]
mov dword [rsp + 0x208], eax
mov eax, dword [rsp + 0x68]
dec eax
cdqe
mov eax, dword [rsp + rax*4 + 0xa8]
dec eax
mov dword [rsp + 0x210], eax
mov eax, dword [rsp + 0x210]
inc eax
sub eax, dword [rsp + 0x114]
mov dword [rsp + 0x20c], eax
mov edx, dword [rsp + 0x20c]
lea rcx, [rsp + 0xc8]
call fcn.14004c810
mov edx, dword [rsp + 0x210]
lea rcx, [rsp + 0xc8]
call fcn.14004c810
cmp dword [rsp + 0x204], 0
je 0x14004b659
cmp dword [rsp + 0x340], 0
jne 0x14004b654
mov eax, dword [rsp + 0x10c]
dec eax
cmp dword [rsp + 0x68], eax
jne 0x14004b600
mov dword [rsp + 0x2cc], 0
jmp 0x14004b60b
mov dword [rsp + 0x2cc], 2
movsxd rax, dword [rsp + 0x20c]
mov rcx, qword [rsp + 0xe0]
movzx eax, word [rcx + rax*2]
mov ecx, dword [rsp + 0x204]
lea eax, [rcx + rax + 2]
movsxd rcx, dword [rsp + 0x210]
mov rdx, qword [rsp + 0xe0]
movzx ecx, word [rdx + rcx*2]
add ecx, dword [rsp + 0x2cc]
mov edx, dword [rsp + 0x208]
sub edx, ecx
mov ecx, edx
cmp eax, ecx
jle 0x14004b659
jmp 0x14004b6ec
movsxd rax, dword [rsp + 0x20c]
mov rcx, qword [rsp + 0xe0]
movzx eax, word [rcx + rax*2]
mov ecx, dword [rsp + 0x204]
lea eax, [rcx + rax + 2]
mov dword [rsp + 0x204], eax
movsxd rax, dword [rsp + 0x210]
mov rcx, qword [rsp + 0xe0]
movzx eax, word [rcx + rax*2]
add eax, 2
mov ecx, dword [rsp + 0x208]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x208], eax
mov eax, dword [rsp + 0x68]
dec eax
cdqe
mov ecx, dword [rsp + 0x210]
mov dword [rsp + rax*4 + 0xa8], ecx
mov eax, dword [rsp + 0x210]
dec eax
mov dword [rsp + 0x210], eax
mov eax, dword [rsp + 0x20c]
dec eax
mov dword [rsp + 0x20c], eax
cmp dword [rsp + 0x210], 0
jge 0x14004b5bc
movsxd rax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x204]
mov dword [rsp + rax*4 + 0x190], ecx
mov eax, dword [rsp + 0x68]
dec eax
cdqe
mov ecx, dword [rsp + 0x208]
mov dword [rsp + rax*4 + 0x190], ecx
cmp dword [rsp + 0x68], 1
jle 0x14004b735
mov eax, dword [rsp + 0x68]
sub eax, 2
cdqe
mov eax, dword [rsp + rax*4 + 0xa8]
mov dword [rsp + 0x2d0], eax
jmp 0x14004b740
mov dword [rsp + 0x2d0], 0
mov eax, dword [rsp + 0x68]
dec eax
cdqe
mov ecx, dword [rsp + 0x2d0]
cmp dword [rsp + rax*4 + 0xa8], ecx
jg 0x14004b76b
mov ecx, 0x1036a
call fcn.1400be020
mov dword [rsp + 0x40], eax
jmp 0x14004c4da
jmp 0x14004b53b
mov rax, qword [rsp + 0x178]
mov rax, qword [rax + 0x50]
movzx eax, byte [rax]
mov dword [rsp + 0x1ac], eax
mov dword [rsp + 0x68], 0
jmp 0x14004b79a
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x10c]
cmp dword [rsp + 0x68], eax
jge 0x14004b922
mov eax, dword [rsp + 0x118]
cmp dword [rsp + 0x68], eax
jge 0x14004b82e
movsxd rax, dword [rsp + 0x68]
movsxd rcx, dword [rsp + 0x68]
mov rax, qword [rsp + rax*8 + 0x178]
mov qword [rsp + rcx*8 + 0x150], rax
movsxd rax, dword [rsp + 0x68]
mov rax, qword [rsp + rax*8 + 0x150]
mov qword [rsp + 0x218], rax
movsxd rax, dword [rsp + 0x68]
mov qword [rsp + rax*8 + 0x178], 0
mov rax, qword [rsp + 0x218]
mov rcx, qword [rax + 0x70]
call fcn.1400208d0
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x11c]
inc eax
mov dword [rsp + 0x11c], eax
cmp dword [rsp + 0x40], 0
je 0x14004b829
jmp 0x14004c4da
jmp 0x14004b91d
cmp dword [rsp + 0x340], 0
je 0x14004b845
mov dword [rsp + 0x2d4], 1
jmp 0x14004b850
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x2d4], eax
mov byte [rsp + 0x20], 0
mov r9d, dword [rsp + 0x2d4]
lea r8, [rsp + 0x6c]
lea rdx, [rsp + 0x218]
mov rcx, qword [rsp + 0x48]
call fcn.14002d460
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x14004b884
jmp 0x14004c4da
mov edx, dword [rsp + 0x1ac]
mov rcx, qword [rsp + 0x218]
call fcn.140027db0
movsxd rax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x218]
mov qword [rsp + rax*8 + 0x150], rcx
mov eax, dword [rsp + 0x11c]
inc eax
mov dword [rsp + 0x11c], eax
movsxd rax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0xc8]
mov dword [rsp + rax*4 + 0x120], ecx
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 0x21]
test eax, eax
je 0x14004b91d
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x320]
mov r9d, dword [rax + 0x88]
mov r8b, 5
mov rax, qword [rsp + 0x218]
mov edx, dword [rax + 0x88]
mov rcx, qword [rsp + 0x48]
call fcn.14002bc00
cmp dword [rsp + 0x40], 0
je 0x14004b91d
jmp 0x14004c4da
jmp 0x14004b790
mov dword [rsp + 0x68], 0
jmp 0x14004b936
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x11c]
cmp dword [rsp + 0x68], eax
jge 0x14004ba01
movsxd rax, dword [rsp + 0x68]
mov rax, qword [rsp + rax*8 + 0x150]
movsxd rcx, dword [rsp + 0x68]
mov eax, dword [rax + 0x88]
mov dword [rsp + rcx*4 + 0x138], eax
movsxd rax, dword [rsp + 0x68]
movsxd rcx, dword [rsp + 0x68]
mov eax, dword [rsp + rax*4 + 0x138]
mov dword [rsp + rcx*4 + 0xe8], eax
movsxd rax, dword [rsp + 0x68]
mov rax, qword [rsp + rax*8 + 0x150]
mov rax, qword [rax + 0x70]
movsxd rcx, dword [rsp + 0x68]
movzx eax, word [rax + 0x2c]
mov word [rsp + rcx*2 + 0x90], ax
mov dword [rsp + 0x1b0], 0
jmp 0x14004b9bd
mov eax, dword [rsp + 0x1b0]
inc eax
mov dword [rsp + 0x1b0], eax
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x1b0], eax
jge 0x14004b9fc
movsxd rax, dword [rsp + 0x1b0]
movsxd rcx, dword [rsp + 0x68]
mov ecx, dword [rsp + rcx*4 + 0x138]
cmp dword [rsp + rax*4 + 0x138], ecx
jne 0x14004b9fa
mov ecx, 0x103b5
call fcn.1400be020
mov dword [rsp + 0x40], eax
jmp 0x14004c4da
jmp 0x14004b9ad
jmp 0x14004b92c
mov dword [rsp + 0x68], 0
jmp 0x14004ba15
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x11c]
cmp dword [rsp + 0x68], eax
jge 0x14004bb4a
mov dword [rsp + 0x220], 0
mov dword [rsp + 0x1b0], 1
jmp 0x14004ba4e
mov eax, dword [rsp + 0x1b0]
inc eax
mov dword [rsp + 0x1b0], eax
mov eax, dword [rsp + 0x11c]
cmp dword [rsp + 0x1b0], eax
jge 0x14004ba8e
movsxd rax, dword [rsp + 0x1b0]
movsxd rcx, dword [rsp + 0x220]
mov ecx, dword [rsp + rcx*4 + 0xe8]
cmp dword [rsp + rax*4 + 0xe8], ecx
jae 0x14004ba8c
mov eax, dword [rsp + 0x1b0]
mov dword [rsp + 0x220], eax
jmp 0x14004ba3e
movsxd rax, dword [rsp + 0x220]
mov eax, dword [rsp + rax*4 + 0xe8]
mov dword [rsp + 0x6c], eax
movsxd rax, dword [rsp + 0x220]
mov dword [rsp + rax*4 + 0xe8], 0xffffffff
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x220], eax
je 0x14004bb45
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x220], eax
jle 0x14004bb03
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x3c]
mov ecx, dword [rsp + 0x220]
lea eax, [rax + rcx + 1]
movsxd rcx, dword [rsp + 0x220]
mov rcx, qword [rsp + rcx*8 + 0x150]
xor r8d, r8d
mov edx, eax
mov rcx, qword [rcx + 0x70]
call fcn.14004c780
movsxd rax, dword [rsp + 0x220]
movsxd rcx, dword [rsp + 0x68]
mov rcx, qword [rsp + rcx*8 + 0x150]
movzx r8d, word [rsp + rax*2 + 0x90]
mov edx, dword [rsp + 0x6c]
mov rcx, qword [rcx + 0x70]
call fcn.14004c780
movsxd rax, dword [rsp + 0x68]
mov rax, qword [rsp + rax*8 + 0x150]
mov ecx, dword [rsp + 0x6c]
mov dword [rax + 0x88], ecx
jmp 0x14004ba0b
mov eax, dword [rsp + 0x11c]
dec eax
cdqe
mov rax, qword [rsp + rax*8 + 0x150]
mov edx, dword [rax + 0x88]
mov rcx, qword [rsp + 0x60]
call fcn.140020d20
mov eax, dword [rsp + 0x1ac]
and eax, 8
test eax, eax
jne 0x14004bc1e
mov eax, dword [rsp + 0x11c]
cmp dword [rsp + 0x118], eax
je 0x14004bc1e
mov eax, dword [rsp + 0x118]
cmp dword [rsp + 0x11c], eax
jle 0x14004bbb5
lea rax, [rsp + 0x150]
mov qword [rsp + 0x2d8], rax
jmp 0x14004bbc5
lea rax, [rsp + 0x178]
mov qword [rsp + 0x2d8], rax
mov eax, dword [rsp + 0x118]
dec eax
cdqe
mov rcx, qword [rsp + 0x2d8]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x228], rax
mov rax, qword [rsp + 0x228]
mov rax, qword [rax + 0x50]
add rax, 8
mov ecx, dword [rsp + 0x11c]
dec ecx
movsxd rcx, ecx
mov rcx, qword [rsp + rcx*8 + 0x150]
mov rcx, qword [rcx + 0x50]
add rcx, 8
mov r8d, 4
mov rdx, rax
call fcn.1400c2b10
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 0x21]
test eax, eax
je 0x14004befa
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x240]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x240]
movzx eax, word [rax + 0x12]
mov rcx, qword [rsp + 0x240]
movzx ecx, byte [rcx + 1]
add eax, ecx
mov dword [rsp + 0x238], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0x230], eax
mov dword [rsp + 0x248], 0
mov dword [rsp + 0x234], 0
mov dword [rsp + 0x68], 0
jmp 0x14004bcad
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0xc8]
cmp dword [rsp + 0x68], eax
jge 0x14004befa
movsxd rax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x258], rax
mov eax, dword [rsp + 0x238]
cmp dword [rsp + 0x68], eax
jne 0x14004bdb9
mov eax, dword [rsp + 0x234]
inc eax
mov dword [rsp + 0x234], eax
mov eax, dword [rsp + 0x11c]
cmp dword [rsp + 0x234], eax
jge 0x14004bd22
movsxd rax, dword [rsp + 0x234]
mov rax, qword [rsp + rax*8 + 0x150]
mov qword [rsp + 0x2e0], rax
jmp 0x14004bd3a
movsxd rax, dword [rsp + 0x234]
mov rax, qword [rsp + rax*8 + 0x178]
mov qword [rsp + 0x2e0], rax
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x260], rax
cmp dword [rsp + 0x114], 0
jne 0x14004bd61
mov dword [rsp + 0x2e8], 1
jmp 0x14004bd6c
mov dword [rsp + 0x2e8], 0
mov rax, qword [rsp + 0x260]
movzx eax, word [rax + 0x12]
mov rcx, qword [rsp + 0x260]
movzx ecx, byte [rcx + 1]
mov edx, dword [rsp + 0x2e8]
add edx, eax
mov eax, edx
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x238]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x238], eax
mov rax, qword [rsp + 0x260]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x250], rax
movsxd rax, dword [rsp + 0x248]
mov eax, dword [rsp + rax*4 + 0xa8]
cmp dword [rsp + 0x68], eax
jne 0x14004be05
mov eax, dword [rsp + 0x248]
inc eax
mov dword [rsp + 0x248], eax
movsxd rax, dword [rsp + 0x248]
mov rax, qword [rsp + rax*8 + 0x150]
mov qword [rsp + 0x240], rax
cmp dword [rsp + 0x114], 0
jne 0x14004be05
jmp 0x14004bca3
mov eax, dword [rsp + 0x11c]
cmp dword [rsp + 0x234], eax
jge 0x14004be6a
movsxd rax, dword [rsp + 0x234]
mov rcx, qword [rsp + 0x240]
mov eax, dword [rsp + rax*4 + 0x138]
cmp dword [rcx + 0x88], eax
jne 0x14004be6a
mov rax, qword [rsp + 0x250]
cmp qword [rsp + 0x258], rax
jb 0x14004be6a
movsxd rax, dword [rsp + 0x230]
mov rcx, qword [rsp + 0x250]
add rcx, rax
mov rax, rcx
cmp qword [rsp + 0x258], rax
jb 0x14004bef5
movzx eax, word [rsp + 0x100]
test eax, eax
jne 0x14004beab
mov rcx, qword [rsp + 0x258]
call fcn.140022420
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x240]
mov r9d, dword [rcx + 0x88]
mov r8b, 5
mov edx, eax
mov rcx, qword [rsp + 0x48]
call fcn.14002bc00
mov edx, dword [rsp + 0x68]
lea rcx, [rsp + 0xc8]
call fcn.14004c810
movzx eax, ax
mov rcx, qword [rsp + 0x240]
movzx ecx, word [rcx + 0xc]
cmp eax, ecx
jle 0x14004bee9
lea r8, [rsp + 0x40]
mov rdx, qword [rsp + 0x258]
mov rcx, qword [rsp + 0x240]
call fcn.14002bef0
cmp dword [rsp + 0x40], 0
je 0x14004bef5
jmp 0x14004c4da
jmp 0x14004bca3
mov dword [rsp + 0x68], 0
jmp 0x14004bf0e
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x11c]
dec eax
cmp dword [rsp + 0x68], eax
jge 0x14004c147
movsxd rax, dword [rsp + 0x68]
mov rax, qword [rsp + rax*8 + 0x150]
mov qword [rsp + 0x278], rax
movsxd rax, dword [rsp + 0x68]
mov eax, dword [rsp + rax*4 + 0xa8]
mov dword [rsp + 0x1b0], eax
movsxd rax, dword [rsp + 0x1b0]
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x270], rax
movsxd rax, dword [rsp + 0x1b0]
mov rcx, qword [rsp + 0xe0]
movzx eax, word [rcx + rax*2]
movzx ecx, word [rsp + 0x100]
add eax, ecx
mov dword [rsp + 0x280], eax
movsxd rax, dword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x330]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x268], rax
mov rax, qword [rsp + 0x278]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x14004bfe3
mov rax, qword [rsp + 0x278]
mov rax, qword [rax + 0x50]
add rax, 8
mov r8d, 4
mov rdx, qword [rsp + 0x270]
mov rcx, rax
call fcn.1400c2b10
jmp 0x14004c0c9
cmp dword [rsp + 0x114], 0
je 0x14004c077
mov eax, dword [rsp + 0x1b0]
dec eax
mov dword [rsp + 0x1b0], eax
movsxd rax, dword [rsp + 0x1b0]
lea r8, [rsp + 0x288]
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x278]
mov rax, qword [rsp + 0x278]
call qword [rax + 0x80]
mov rax, qword [rsp + 0x268]
mov qword [rsp + 0x270], rax
mov rax, qword [rsp + 0x270]
add rax, 4
mov rdx, qword [rsp + 0x288]
mov rcx, rax
call fcn.1400432d0
add eax, 4
mov dword [rsp + 0x280], eax
mov qword [rsp + 0x268], 0
jmp 0x14004c0c9
mov rax, qword [rsp + 0x270]
sub rax, 4
mov qword [rsp + 0x270], rax
movsxd rax, dword [rsp + 0x1b0]
mov rcx, qword [rsp + 0xe0]
movzx eax, word [rcx + rax*2]
cmp eax, 4
jne 0x14004c0c9
mov rdx, qword [rsp + 0x270]
mov rcx, qword [rsp + 0x320]
mov rax, qword [rsp + 0x320]
call qword [rax + 0x78]
movzx eax, ax
mov dword [rsp + 0x280], eax
mov eax, dword [rsp + 0x280]
mov ecx, dword [rsp + 0x1a8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1a8], eax
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x70]
add ecx, eax
mov eax, ecx
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x278]
mov ecx, dword [rcx + 0x88]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x268]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rsp + 0x280]
mov r8, qword [rsp + 0x270]
mov edx, eax
mov rcx, qword [rsp + 0x320]
call fcn.1400492c0
cmp dword [rsp + 0x40], 0
je 0x14004c142
jmp 0x14004c4da
jmp 0x14004bf04
mov eax, 1
sub eax, dword [rsp + 0x11c]
mov dword [rsp + 0x68], eax
jmp 0x14004c163
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x11c]
cmp dword [rsp + 0x68], eax
jge 0x14004c38f
cmp dword [rsp + 0x68], 0
jge 0x14004c18a
mov eax, dword [rsp + 0x68]
neg eax
mov dword [rsp + 0x2ec], eax
jmp 0x14004c195
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x2ec], eax
mov eax, dword [rsp + 0x2ec]
mov dword [rsp + 0x2a0], eax
movsxd rax, dword [rsp + 0x2a0]
movzx eax, byte [rsp + rax + 0x104]
test eax, eax
je 0x14004c1b9
jmp 0x14004c159
cmp dword [rsp + 0x68], 0
jge 0x14004c1eb
mov eax, dword [rsp + 0x2a0]
dec eax
cdqe
mov ecx, dword [rsp + 0x2a0]
dec ecx
movsxd rcx, ecx
mov ecx, dword [rsp + rcx*4 + 0xa8]
cmp dword [rsp + rax*4 + 0x120], ecx
jl 0x14004c38a
cmp dword [rsp + 0x2a0], 0
jne 0x14004c221
mov dword [rsp + 0x2a4], 0
mov eax, dword [rsp + 0x2a4]
mov dword [rsp + 0x2ac], eax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x2a8], eax
jmp 0x14004c2f2
mov eax, dword [rsp + 0x118]
cmp dword [rsp + 0x2a0], eax
jge 0x14004c275
cmp dword [rsp + 0x114], 0
jne 0x14004c248
mov dword [rsp + 0x2f0], 1
jmp 0x14004c253
mov dword [rsp + 0x2f0], 0
mov eax, dword [rsp + 0x2a0]
dec eax
cdqe
mov eax, dword [rsp + rax*4 + 0x120]
add eax, dword [rsp + 0x2f0]
mov dword [rsp + 0x2f4], eax
jmp 0x14004c283
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x2f4], eax
mov eax, dword [rsp + 0x2f4]
mov dword [rsp + 0x2a4], eax
cmp dword [rsp + 0x114], 0
jne 0x14004c2a8
mov dword [rsp + 0x2f8], 1
jmp 0x14004c2b3
mov dword [rsp + 0x2f8], 0
mov eax, dword [rsp + 0x2a0]
dec eax
cdqe
mov eax, dword [rsp + rax*4 + 0xa8]
add eax, dword [rsp + 0x2f8]
mov dword [rsp + 0x2ac], eax
movsxd rax, dword [rsp + 0x2a0]
mov ecx, dword [rsp + 0x2ac]
mov eax, dword [rsp + rax*4 + 0xa8]
sub eax, ecx
mov dword [rsp + 0x2a8], eax
movsxd rax, dword [rsp + 0x2a0]
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rsp + 0x2a8]
mov r8d, dword [rsp + 0x2ac]
mov edx, dword [rsp + 0x2a4]
mov rcx, qword [rsp + rax*8 + 0x150]
call fcn.14004c8d0
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x14004c33b
jmp 0x14004c4da
movsxd rax, dword [rsp + 0x2a0]
movzx eax, byte [rsp + rax + 0x104]
inc al
movsxd rcx, dword [rsp + 0x2a0]
mov byte [rsp + rcx + 0x104], al
movsxd rax, dword [rsp + 0x2a0]
mov eax, dword [rsp + rax*4 + 0x190]
mov ecx, dword [rsp + 0xc0]
sub ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x2a0]
mov rcx, qword [rsp + rcx*8 + 0x150]
mov word [rcx + 0x10], ax
jmp 0x14004c159
cmp dword [rsp + 0x338], 0
je 0x14004c407
mov rax, qword [rsp + 0x320]
movzx eax, word [rax + 0x12]
test eax, eax
jne 0x14004c407
mov rax, qword [rsp + 0x320]
movzx eax, byte [rax + 5]
mov rcx, qword [rsp + 0x150]
movzx ecx, word [rcx + 0x10]
cmp eax, ecx
jg 0x14004c407
mov rcx, qword [rsp + 0x150]
call fcn.1400497a0
mov dword [rsp + 0x40], eax
lea r8, [rsp + 0x40]
mov rdx, qword [rsp + 0x320]
mov rcx, qword [rsp + 0x150]
call fcn.14004d250
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x150]
call fcn.14004c7c0
jmp 0x14004c49d
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 0x21]
test eax, eax
je 0x14004c49d
movzx eax, word [rsp + 0x100]
test eax, eax
jne 0x14004c49d
mov dword [rsp + 0x68], 0
jmp 0x14004c438
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x11c]
cmp dword [rsp + 0x68], eax
jge 0x14004c49d
movsxd rax, dword [rsp + 0x68]
mov rax, qword [rsp + rax*8 + 0x150]
mov rax, qword [rax + 0x50]
add rax, 8
mov rcx, rax
call fcn.140022420
mov dword [rsp + 0x2b0], eax
movsxd rax, dword [rsp + 0x68]
mov rax, qword [rsp + rax*8 + 0x150]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rax + 0x88]
mov r8b, 5
mov edx, dword [rsp + 0x2b0]
mov rcx, qword [rsp + 0x48]
call fcn.14002bc00
jmp 0x14004c42e
mov eax, dword [rsp + 0x11c]
mov dword [rsp + 0x68], eax
jmp 0x14004c4b4
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x118]
cmp dword [rsp + 0x68], eax
jge 0x14004c4da
movsxd rax, dword [rsp + 0x68]
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + rax*8 + 0x178]
call fcn.14004c7c0
jmp 0x14004c4aa
mov rcx, qword [rsp + 0xd8]
call fcn.14004c670
mov dword [rsp + 0x68], 0
jmp 0x14004c4fb
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x118]
cmp dword [rsp + 0x68], eax
jge 0x14004c51c
movsxd rax, dword [rsp + 0x68]
mov rcx, qword [rsp + rax*8 + 0x178]
call fcn.14002aa10
jmp 0x14004c4f1
mov dword [rsp + 0x68], 0
jmp 0x14004c530
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x11c]
cmp dword [rsp + 0x68], eax
jge 0x14004c551
movsxd rax, dword [rsp + 0x68]
mov rcx, qword [rsp + rax*8 + 0x150]
call fcn.14002aa10
jmp 0x14004c526
mov eax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.1400c2a80
add rsp, 0x318
ret