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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x448
movdqa xmmword [rsp + 0x430], xmm11
movdqa xmmword [rsp + 0x420], xmm10
movdqa xmmword [rsp + 0x410], xmm9
movaps xmmword [rsp + 0x400], xmm8
movaps xmmword [rsp + 0x3f0], xmm7
movaps xmmword [rsp + 0x3e0], xmm6
mov r13d, r9d
mov qword [rsp + 0x70], r8
mov r14, rdx
mov rsi, rcx
movzx r15d, byte [rsp + 0x4b8]
mov ebp, dword [rsp + 0x4b0]
mov rax, qword [0x1406a7e00]
xor rax, rsp
mov qword [rsp + 0x3d8], rax
lea rdi, method.icu::StringEnumeration.virtual_0
mov qword [rsp + 0x190], rdi
mov qword [rsp + 0x198], 0
lea r12, [rsp + 0x1a0]
mov rcx, r12
mov edx, 8
call fcn.1400ba650
lea rdx, [rsp + 0x1b8]
lea rbx, [rsp + 0x3b8]
mov r8d, 0x200
mov r9d, 0x200
mov rcx, rbx
call fcn.14007a290
lea rax, [0x1405e19f0]
mov qword [rsp + 0x190], rax
xor r8d, r8d
test r15b, r15b
cmove r8, r14
lea rcx, [rsp + 0x190]
mov rdx, rsi
call fcn.14030f460
movsxd rcx, dword [r14]
mov qword [rsp + 0x68], rcx
movsxd r8, dword [r14 + 8]
test eax, eax
je 0x1403b4316
mov rbx, qword [rsp + 0x198]
cmp eax, 1
mov dword [rsp + 0xa0], eax
jle 0x1403b445d
mov r12, r8
add eax, 0xfffffffe
je 0x1403b43a0
bsr eax, eax
xor eax, 0x1f
jmp 0x1403b43a5
test byte [rsi + 0xe], 2
mov r15, r12
mov r12, rdi
je 0x1403b6231
mov eax, dword [r14 + 4]
cmp eax, r13d
cmovg r13d, eax
mov eax, dword [r14 + 0xc]
cmp eax, ebp
cmovl ebp, eax
mov rax, r8
sub rax, qword [rsp + 0x68]
test rax, rax
jle 0x1403b6231
movsxd rcx, ebp
movsxd rdx, r13d
sub rcx, rdx
test rcx, rcx
jle 0x1403b6231
or rcx, rax
cmp rcx, 0x7fffffff
ja 0x1403b6231
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
xor edx, edx
mov rsi, r8
call qword [rax + 0x60]
sub ebp, r13d
mov rdx, qword [rsp + 0x68]
sub esi, edx
mov r10, qword [rax]
mov dword [rsp + 0x20], ebp
mov rcx, rax
mov r8d, r13d
mov r9d, esi
call qword [r10 + 0x20]
jmp 0x1403b6231
mov eax, 0x20
add eax, eax
mov ecx, 0x40
sub ecx, eax
lea r9, [rsp + 0x148]
mov rdx, rbx
mov r15d, dword [rsp + 0xa0]
mov r8d, r15d
call fcn.1403b6490
mov eax, r15d
dec rax
mov ecx, 1
cmp r15d, 2
je 0x1403b4434
mov rdx, rax
and rdx, 0xfffffffffffffffe
neg rdx
nop word cs:[rax + rax]
mov r8, qword [rbx + rcx*8 - 8]
mov r9, qword [rbx + rcx*8]
mov qword [r8], r9
mov r8, qword [rbx + rcx*8 - 8]
mov r9, qword [rbx + rcx*8]
mov qword [r9 + 8], r8
mov r8, qword [rbx + rcx*8]
mov r9, qword [rbx + rcx*8 + 8]
mov qword [r8], r9
mov r8, qword [rbx + rcx*8]
mov r9, qword [rbx + rcx*8 + 8]
mov qword [r9 + 8], r8
lea r8, [rdx + rcx]
add r8, 2
add rcx, 2
cmp r8, 1
jne 0x1403b43f0
test al, 1
mov r8, r12
movzx r15d, byte [rsp + 0x4b8]
je 0x1403b445d
mov rax, qword [rbx + rcx*8 - 8]
mov rdx, qword [rbx + rcx*8]
mov qword [rax], rdx
mov rax, qword [rbx + rcx*8 - 8]
mov rcx, qword [rbx + rcx*8]
mov qword [rcx + 8], rax
movsxd rax, dword [rsp + 0xa0]
mov rax, qword [rbx + rax*8 - 8]
mov rcx, qword [rbx]
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x148], rcx
movabs rdx, 0x8000000180000001
mov qword [rsp + 0x170], rdx
mov edx, 0x80000001
mov qword [rsp + 0x160], rdx
mov dword [rsp + 0x178], 0x7fffffff
mov dword [rsp + 0x168], 0x80000001
lea rdx, [rsp + 0x148]
mov qword [rcx + 8], rdx
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x100], 0
movabs rcx, 0x7fffffff7fffffff
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x118], 0x7fffffff
mov dword [rsp + 0x130], 0x7fffffff
mov dword [rsp + 0x120], 0x7fffffff
lea rcx, [rsp + 0x100]
mov qword [rax], rcx
mov ebx, dword [r14 + 4]
mov eax, dword [r14 + 0xc]
cmp ebx, r13d
cmovle ebx, r13d
cmp eax, ebp
cmovge eax, ebp
test r15b, r15b
cmovne ebx, r13d
cmovne eax, ebp
mov dword [rsp + 0xa8], eax
mov r13, qword [rsp + 0x68]
shl r13d, 0x10
shl r8d, 0x10
cmp byte [rsp + 0x4c0], 0
je 0x1403b45cd
mov rcx, rsi
mov r14, r8
call fcn.14008be10
movss xmm6, dword [rax]
movss xmm0, dword [rax + 8]
call fcn.14056f5a8
movss xmm7, dword [0x140599e80]
minss xmm0, xmm7
movss xmm8, dword [0x140599e84]
maxss xmm0, xmm8
cvttss2si edi, xmm0
movaps xmm0, xmm6
call fcn.14056fa9c
minss xmm0, xmm7
maxss xmm0, xmm8
cvttss2si eax, xmm0
shl eax, 0x10
cmp r13d, eax
cmovg eax, r13d
shl edi, 0x10
cmp edi, r14d
cmovge edi, r14d
mov qword [rsp + 0x68], rax
mov eax, edi
mov qword [rsp + 0x88], rax
jmp 0x1403b45da
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x88], r8
mov edi, dword [rsp + 0xa0]
test byte [rsi + 0xe], 2
jne 0x1403b5211
mov rcx, rsi
call fcn.14008b7f0
cmp edi, 2
jl 0x1403b5211
test al, al
je 0x1403b5211
mov r13, qword [rsp + 0x148]
mov rbp, qword [r13]
mov r15, qword [rbp]
mov eax, dword [r13 + 0x28]
mov edi, dword [rbp + 0x28]
cmp eax, edi
cmovg edi, eax
mov r14d, dword [rsp + 0xa8]
shl r14d, 0x10
mov rbx, qword [rsp + 0x68]
lea eax, [rbx + 0x800]
mov dword [rsp + 0xe0], eax
mov rax, qword [rsp + 0x88]
add eax, 0x800
mov dword [rsp + 0xdc], eax
mov dword [rsp + 0x84], r14d
mov esi, edi
mov rdi, r13
cmp dword [r13 + 0x2c], esi
jle 0x1403b4675
jmp 0x1403b46c9
cmp dword [rdi + 0x2c], esi
jg 0x1403b46c9
mov rcx, rdi
mov edx, esi
mov r8b, 1
call fcn.1403fcb30
test al, al
jne 0x1403b4670
movsx eax, word [r15 + 0x2a]
cmp eax, dword [rsp + 0xa8]
jge 0x1403b621a
mov rdi, r15
mov r15, qword [r15]
jmp 0x1403b4670
mov rcx, rbp
mov edx, esi
mov r8b, 1
call fcn.1403fcb30
test al, al
jne 0x1403b46c9
movsx eax, word [r15 + 0x2a]
cmp eax, dword [rsp + 0xa8]
jge 0x1403b621a
mov rbp, r15
mov r15, qword [r15]
cmp dword [rbp + 0x2c], esi
jle 0x1403b46a0
mov r12d, esi
sar r12d, 0x10
cmp r12d, dword [rsp + 0xa8]
jge 0x1403b621a
mov r13, rbp
mov eax, dword [rdi + 0x24]
lea ecx, [rax + 0x10000]
cmp ecx, esi
jne 0x1403b4703
mov eax, dword [rdi + 0x1c]
add dword [rdi + 0x18], eax
mov r8, qword [rsp + 0x88]
jmp 0x1403b472b
cmp eax, esi
mov r8, qword [rsp + 0x88]
je 0x1403b472e
movsxd rax, dword [rdi + 0x28]
movsxd rcx, esi
sub rcx, rax
movsxd rax, dword [rdi + 0x1c]
imul rax, rcx
shr rax, 0x10
add eax, dword [rdi + 0x20]
mov dword [rdi + 0x18], eax
mov dword [rdi + 0x24], esi
mov eax, dword [r13 + 0x24]
lea ecx, [rax + 0x10000]
cmp ecx, esi
jne 0x1403b4746
mov eax, dword [r13 + 0x1c]
add eax, dword [r13 + 0x18]
jmp 0x1403b476f
cmp eax, esi
jne 0x1403b4755
mov eax, dword [r13 + 0x18]
cmp dword [rdi + 0x18], eax
jle 0x1403b477c
jmp 0x1403b4787
movsxd rax, dword [r13 + 0x28]
movsxd rcx, esi
sub rcx, rax
movsxd rax, dword [r13 + 0x1c]
imul rax, rcx
shr rax, 0x10
add eax, dword [r13 + 0x20]
mov dword [r13 + 0x18], eax
mov dword [r13 + 0x24], esi
cmp dword [rdi + 0x18], eax
jg 0x1403b4787
jne 0x1403b478c
mov eax, dword [rdi + 0x1c]
cmp eax, dword [r13 + 0x1c]
jle 0x1403b478c
mov rbp, rdi
jmp 0x1403b4792
mov rbp, r13
mov r13, rdi
mov eax, dword [rbp + 0x2c]
mov ecx, dword [r13 + 0x2c]
cmp eax, ecx
mov edi, ecx
cmovl edi, eax
cmp dword [r15 + 0x28], r14d
mov qword [rsp + 0xa0], rbp
jge 0x1403b47ed
lea edx, [rcx + 0x10000]
cmp edx, eax
jge 0x1403b47bd
mov rcx, r13
jmp 0x1403b47cd
add eax, 0x10000
cmp ecx, eax
jle 0x1403b4d64
mov rcx, rbp
mov rdx, r15
call fcn.1403b74c0
test al, al
je 0x1403b47e5
add edi, 0xffff
and edi, 0xffff0000
mov r8, qword [rsp + 0x88]
cmp r14d, edi
cmovl edi, r14d
mov r10d, dword [r13 + 0x18]
cmp r10d, ebx
cmovle r10d, ebx
mov r9d, dword [rbp + 0x18]
cmp r9d, r8d
cmovge r9d, r8d
movsxd rcx, dword [r13 + 0x1c]
movsxd rax, dword [rbp + 0x1c]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xc0], rcx
or eax, ecx
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0xd0], r15
mov qword [rsp + 0xb0], r13
je 0x1403b487f
lea r13d, [rdi + 0xffff]
sar r13d, 0x10
sub r13d, r12d
movzx ebx, byte [rsp + 0x4c0]
test bl, bl
je 0x1403b4a4b
mov rcx, qword [rsp + 0x70]
cmp dword [rcx + 0x460], r12d
jne 0x1403b4b01
mov rax, qword [rcx + 0x458]
mov qword [rsp + 0x78], rax
jmp 0x1403b4b29
lea r12d, [r10 + 0xffff]
mov edx, r12d
sar edx, 0x10
mov ecx, r9d
sar ecx, 0x10
lea ebp, [rsi + 0xffff]
mov rax, rdi
mov edi, ebp
sar edi, 0x10
mov r8d, eax
sar r8d, 0x10
and ebp, 0xffff0000
mov r13d, ebp
sub r13d, esi
movzx ebx, ax
mov r14d, eax
or r14d, 0xffff0000
cmp r8d, edi
mov eax, 0
cmovl ebx, eax
cmovge r14d, eax
add r13d, r14d
mov eax, ecx
sub eax, edx
jge 0x1403b4a57
mov r12d, r9d
sub r12d, r10d
jle 0x1403b4f5d
mov qword [rsp + 0x78], rdx
mov r15d, r12d
test r13d, r13d
jle 0x1403b497e
mov eax, r13d
imul rax, r15
shr rax, 0x10
mov ecx, eax
shl ecx, 8
sub ecx, eax
add ecx, 0x8000
shr ecx, 0x10
mov dword [rsp + 0xc0], r8d
lea r8d, [rdi - 1]
mov rax, qword [rsp + 0x78]
lea edx, [rax - 1]
mov r13, qword [rsp + 0x70]
mov rax, qword [r13]
mov byte [rsp + 0x20], cl
mov rcx, r13
mov dword [rsp + 0x80], r9d
mov r9d, 1
mov qword [rsp + 0xb8], r10
call qword [rax + 0x68]
add r14d, ebp
mov rax, qword [r13]
mov rcx, r13
mov edx, esi
mov r8d, r14d
call qword [rax + 0x88]
mov r8d, dword [rsp + 0xc0]
mov r9d, dword [rsp + 0x80]
mov r10, qword [rsp + 0xb8]
mov esi, r8d
sub esi, edi
jle 0x1403b49d1
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
xor edx, edx
mov r14, r10
mov ebp, r9d
mov r13d, r8d
call qword [rax + 0x60]
mov ecx, r12d
shl ecx, 8
sub ecx, r12d
add ecx, 0x8000
shr ecx, 0x10
mov rdx, qword [rsp + 0x78]
dec edx
mov r10, qword [rax]
mov byte [rsp + 0x20], cl
mov rcx, rax
mov r8d, edi
mov r9d, esi
call qword [r10 + 0x18]
mov r8d, r13d
mov r9d, ebp
mov r10, r14
test ebx, ebx
mov r14d, dword [rsp + 0x84]
mov r13, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xa0]
je 0x1403b4a31
mov eax, ebx
imul r15, rax
shr r15, 0x10
mov eax, r15d
shl eax, 8
sub eax, r15d
add eax, 0x8000
shr eax, 0x10
mov rdx, qword [rsp + 0x78]
dec edx
mov rcx, qword [rsp + 0x70]
mov rsi, r10
mov r10, qword [rcx]
mov byte [rsp + 0x20], al
mov edi, r9d
mov r9d, 1
call qword [r10 + 0x68]
mov r9d, edi
mov r10, rsi
mov rbx, qword [rsp + 0x68]
mov r15, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0x90]
jmp 0x1403b4f49
xor eax, eax
mov qword [rsp + 0x78], rax
jmp 0x1403b4b29
mov dword [rsp + 0xd8], eax
and r12d, 0xffff0000
sub r12d, r10d
movzx eax, r9w
mov dword [rsp + 0x78], eax
test r13d, r13d
mov dword [rsp + 0x98], ecx
mov qword [rsp + 0xb8], r10
mov dword [rsp + 0x80], r9d
jle 0x1403b5032
mov dword [rsp + 0xc0], r8d
mov ecx, r13d
test r12d, r12d
mov qword [rsp + 0xe8], rcx
jle 0x1403b4f77
mov eax, r12d
imul rax, rcx
shr rax, 0x10
mov r9d, eax
shl r9d, 8
sub r9d, eax
add r9d, 0x8000
shr r9d, 0x10
lea r8d, [rdi - 1]
mov dword [rsp + 0xc8], ebx
mov rbx, rdx
dec edx
mov r15, qword [rsp + 0x70]
mov rax, qword [r15]
mov rcx, r15
mov dword [rsp + 0xcc], r8d
call qword [rax + 0x70]
mov rdx, rbx
mov ebx, dword [rsp + 0xc8]
jmp 0x1403b4f86
mov dword [rcx + 0x460], r12d
mov edx, r12d
sub edx, dword [rcx + 0x2c]
imul edx, dword [rcx + 0x38]
add rdx, qword [rcx + 0x20]
movsxd rax, dword [rcx + 0x28]
sub rdx, rax
mov qword [rsp + 0x78], rdx
mov qword [rcx + 0x458], rdx
add r10d, 0x800
add r9d, 0x800
cmp r13d, 2
jl 0x1403b4dd5
mov r14d, esi
and r14d, 0xffff0000
cmp r14d, esi
jne 0x1403b4b5e
mov r14d, esi
mov edi, r10d
mov ebp, r9d
jmp 0x1403b4c34
dec r13d
add r14d, 0x10000
mov eax, r14d
sub eax, esi
cdqe
mov rdi, qword [rsp + 0xc0]
imul rdi, rax
shr rdi, 0x10
add edi, r10d
mov rdx, rbp
mov rbp, qword [rsp + 0x98]
imul rbp, rax
shr rbp, 0x10
add ebp, r9d
mov ecx, eax
shl ecx, 8
sub ecx, eax
add ecx, 0x8000
shr ecx, 0x10
mov eax, dword [rdx + 0x30]
mov rdx, qword [rsp + 0xb0]
mov edx, dword [rdx + 0x30]
mov r8d, ebp
and r8d, 0xfffff000
mov r11d, edi
and r11d, 0xfffff000
and r9d, 0xfffff000
and r10d, 0xfffff000
mov byte [rsp + 0x50], bl
mov r15, qword [rsp + 0x78]
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], edx
mov byte [rsp + 0x40], cl
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], r11d
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x58], 0
mov r15, qword [rsp + 0x70]
mov rcx, r15
mov edx, r12d
mov r8d, r10d
call fcn.1403b68c0
mov rax, qword [r15]
mov rcx, r15
mov edx, esi
mov r8d, r14d
call qword [rax + 0x88]
cmp r13d, 2
jb 0x1403b4dcc
inc r13d
jmp 0x1403b4d34
mov dword [rcx + 0x460], edx
mov r8d, edx
sub r8d, dword [rcx + 0x2c]
imul r8d, dword [rcx + 0x38]
add r8, qword [rcx + 0x20]
movsxd rax, dword [rcx + 0x28]
sub r8, rax
mov qword [rsp + 0x78], r8
mov qword [rcx + 0x458], r8
lea esi, [r14 + 0x10000]
mov rax, qword [rsp + 0xc0]
lea r12d, [rdi + rax]
add eax, edi
mov rcx, qword [rsp + 0x98]
lea r15d, [rbp + rcx]
add ecx, ebp
mov r8, qword [rsp + 0xa0]
mov r8d, dword [r8 + 0x30]
mov r9, qword [rsp + 0xb0]
mov r9d, dword [r9 + 0x30]
and ecx, 0xfffff000
and eax, 0xfffff000
and ebp, 0xfffff000
and edi, 0xfffff000
mov byte [rsp + 0x50], bl
mov r10, qword [rsp + 0x78]
mov qword [rsp + 0x48], r10
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x58], 0
mov byte [rsp + 0x40], 0xff
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
mov r8d, edi
mov r9d, ebp
call fcn.1403b68c0
mov rax, qword [rbx]
mov rcx, rbx
movzx ebx, byte [rsp + 0x4c0]
mov edx, r14d
mov r8d, esi
call qword [rax + 0x88]
mov r9d, r15d
mov r10, r12
dec r13d
mov r14d, esi
mov edi, r10d
mov ebp, r15d
cmp r13d, 2
jbe 0x1403b4dd5
mov edx, r14d
sar edx, 0x10
test bl, bl
je 0x1403b4c69
mov rcx, qword [rsp + 0x70]
cmp dword [rcx + 0x460], edx
jne 0x1403b4c40
mov rax, qword [rcx + 0x458]
mov qword [rsp + 0x78], rax
jmp 0x1403b4c69
mov dword [rsp + 0x78], r12d
mov r12, rdi
mov rdi, qword [r15]
cmp dword [rdi + 0x28], r14d
jge 0x1403b5204
mov ebx, dword [rdi + 0x20]
mov ebp, dword [r15 + 0x20]
cmp ebx, ebp
mov rdx, r15
cmovl rdx, rdi
mov rcx, r13
call fcn.1403b74c0
test al, al
je 0x1403b51ef
cmp ebx, ebp
cmovl rdi, r15
mov rbp, qword [rsp + 0xa0]
mov rcx, rbp
mov rdx, rdi
call fcn.1403b74c0
test al, al
mov rbx, qword [rsp + 0x68]
mov rdi, r12
mov r12d, dword [rsp + 0x78]
jne 0x1403b47d9
jmp 0x1403b47e5
mov r9d, ebp
mov r10d, edi
mov esi, r14d
mov edx, esi
sar edx, 0x10
test bl, bl
mov r11d, ebx
mov r14, qword [rsp + 0x68]
mov r13, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x90]
je 0x1403b4e4b
mov rcx, qword [rsp + 0x70]
cmp dword [rcx + 0x460], edx
jne 0x1403b4e19
mov rax, qword [rcx + 0x458]
mov qword [rsp + 0x78], rax
jmp 0x1403b4e42
mov dword [rcx + 0x460], edx
mov r11d, edx
sub r11d, dword [rcx + 0x2c]
imul r11d, dword [rcx + 0x38]
add r11, qword [rcx + 0x20]
movsxd rax, dword [rcx + 0x28]
sub r11, rax
mov qword [rsp + 0x78], r11
mov qword [rcx + 0x458], r11
movzx r11d, byte [rsp + 0x4c0]
mov eax, r8d
sub eax, esi
cdqe
mov r12, qword [rsp + 0xc0]
imul r12, rax
shr r12, 0x10
add r12d, r10d
mov ecx, dword [rsp + 0xe0]
cmp r12d, ecx
cmovle r12d, ecx
mov rbx, qword [rsp + 0x98]
imul rbx, rax
shr rbx, 0x10
add ebx, r9d
mov ecx, dword [rsp + 0xdc]
cmp ecx, ebx
cmovl ebx, ecx
mov ecx, eax
shl ecx, 8
sub ecx, eax
add ecx, 0x8000
shr ecx, 0x10
mov eax, dword [rbp + 0x30]
mov edi, dword [r13 + 0x30]
mov r15d, ebx
and r15d, 0xfffff000
mov r8, r10
mov r10d, r12d
and r10d, 0xfffff000
and r9d, 0xfffff000
and r8d, 0xfffff000
mov byte [rsp + 0x50], r11b
mov r11, qword [rsp + 0x78]
mov qword [rsp + 0x48], r11
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], edi
mov byte [rsp + 0x40], cl
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r10d
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x58], 0
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.1403b68c0
mov rax, qword [rdi]
mov rcx, rdi
mov rdi, qword [rsp + 0x90]
mov edx, esi
mov r8d, edi
call qword [rax + 0x88]
add r12d, 0xfffff800
add ebx, 0xfffff800
mov r9d, ebx
mov rbx, r14
mov r10d, r12d
mov r15, qword [rsp + 0xd0]
mov r14d, dword [rsp + 0x84]
mov dword [r13 + 0x18], r10d
mov dword [rbp + 0x18], r9d
mov dword [rbp + 0x24], edi
mov dword [r13 + 0x24], edi
jmp 0x1403b465a
mov rbx, qword [rsp + 0x68]
mov r14d, dword [rsp + 0x84]
mov r13, qword [rsp + 0xb0]
jmp 0x1403b51da
lea eax, [rdi - 1]
mov dword [rsp + 0xcc], eax
mov r15, qword [rsp + 0x70]
mov eax, r13d
shl eax, 8
sub eax, r13d
add eax, 0x8000
shr eax, 0x10
mov r10, qword [r15]
mov byte [rsp + 0x20], al
mov rcx, r15
mov r13, rdx
mov r8d, dword [rsp + 0xcc]
mov r9d, dword [rsp + 0xd8]
call qword [r10 + 0x68]
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x1403b4ffc
mov eax, eax
imul rax, qword [rsp + 0xe8]
shr rax, 0x10
mov r9d, eax
shl r9d, 8
sub r9d, eax
add r9d, 0x8000
shr r9d, 0x10
mov rax, qword [r15]
mov rcx, r15
mov edx, dword [rsp + 0x98]
mov r8d, dword [rsp + 0xcc]
call qword [rax + 0x70]
add r14d, ebp
mov rax, qword [r15]
mov rcx, r15
mov edx, esi
mov r8d, r14d
call qword [rax + 0x88]
mov r10, qword [rsp + 0xb8]
mov r9d, dword [rsp + 0x80]
mov r8d, dword [rsp + 0xc0]
mov rdx, r13
mov ecx, dword [rsp + 0x98]
mov ebp, r8d
sub ebp, edi
jle 0x1403b50da
mov r14d, r12d
shl r14d, 8
sub r14d, r12d
add r14d, 0x8000
mov eax, dword [rsp + 0x78]
mov r15d, eax
shl r15d, 8
sub r15d, eax
add r15d, 0x8000
mov esi, ecx
sub esi, edx
jg 0x1403b507d
mov eax, r14d
and eax, 0xff0000
jne 0x1403b507d
mov eax, r15d
and eax, 0xff0000
je 0x1403b50da
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
mov r13, rdx
xor edx, edx
mov dword [rsp + 0xc0], r8d
call qword [rax + 0x60]
shr r15d, 0x10
shr r14d, 0x10
lea edx, [r13 - 1]
mov r10, qword [rax]
mov byte [rsp + 0x30], r15b
mov byte [rsp + 0x28], r14b
mov dword [rsp + 0x20], ebp
mov rcx, rax
mov r8d, edi
mov r9d, esi
call qword [r10 + 0x28]
mov rdx, r13
mov r8d, dword [rsp + 0xc0]
mov r9d, dword [rsp + 0x80]
mov r10, qword [rsp + 0xb8]
test ebx, ebx
mov r13, qword [rsp + 0xb0]
je 0x1403b51c5
test r12d, r12d
mov rsi, qword [rsp + 0x70]
jle 0x1403b512d
mov eax, ebx
mov ecx, r12d
imul rcx, rax
shr rcx, 0x10
mov r9d, ecx
shl r9d, 8
sub r9d, ecx
add r9d, 0x8000
shr r9d, 0x10
mov r14, rdx
dec edx
mov rax, qword [rsi]
mov rcx, rsi
mov edi, r8d
call qword [rax + 0x70]
mov rdx, r14
mov r8d, edi
mov eax, ebx
shl eax, 8
sub eax, ebx
add eax, 0x8000
shr eax, 0x10
mov r10, qword [rsi]
mov byte [rsp + 0x20], al
mov rcx, rsi
mov r12d, r8d
mov r9d, dword [rsp + 0xd8]
call qword [r10 + 0x68]
mov eax, dword [rsp + 0x78]
test eax, eax
mov r15, qword [rsp + 0xd0]
mov r14d, dword [rsp + 0x84]
mov rbp, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x90]
je 0x1403b51ab
imul eax, ebx
shr eax, 0x10
mov r9d, eax
shl r9d, 8
sub r9d, eax
add r9d, 0x8000
shr r9d, 0x10
mov rax, qword [rsi]
mov rcx, rsi
mov edx, dword [rsp + 0x98]
mov r8d, r12d
call qword [rax + 0x70]
mov rbx, qword [rsp + 0x68]
mov r10, qword [rsp + 0xb8]
mov r9d, dword [rsp + 0x80]
jmp 0x1403b4f49
mov rbx, qword [rsp + 0x68]
mov r15, qword [rsp + 0xd0]
mov r14d, dword [rsp + 0x84]
mov rbp, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x90]
jmp 0x1403b4f49
mov r8, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0xa0]
mov rdi, r12
mov r12d, dword [rsp + 0x78]
jmp 0x1403b47ed
mov rax, qword [rsp + 0x108]
mov ecx, dword [rax + 0x2c]
mov rax, qword [rsp + 0x148]
sub ecx, dword [rax + 0x28]
sar ecx, 0xe
and ecx, 0xfffffffc
add ecx, 4
mov dword [rsp + 0xc0], ecx
mov rcx, rsi
call fcn.14008c460
mov dword [rsp + 0xd8], eax
mov eax, dword [rsp + 0xa8]
sub eax, ebx
add eax, eax
mov dword [rsp + 0xcc], eax
movzx ecx, byte [rsi + 0xe]
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x168], eax
mov dword [rsp + 0x160], eax
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x120], eax
mov dword [rsp + 0x118], eax
mov eax, ebx
shl eax, 0x10
mov r9, qword [rsp + 0x148]
mov edx, dword [r9 + 0x28]
cmp edx, eax
mov r13d, eax
cmovg r13d, edx
mov r8d, 0x7fffffff
mov esi, edx
jmp 0x1403b52dd
mov r10d, dword [r9 + 0x1c]
add dword [r9 + 0x18], r10d
mov dword [r9 + 0x24], r13d
mov r10d, dword [r9 + 0x2c]
cmp r8d, r10d
mov r11d, r8d
cmovg r11d, r10d
cmp r10d, r13d
cmovg r8d, r11d
mov r9, qword [r9]
mov esi, dword [r9 + 0x28]
cmp r13d, esi
jl 0x1403b5311
mov r10d, dword [r9 + 0x24]
lea r11d, [r10 + 0x10000]
cmp r11d, r13d
je 0x1403b52b0
cmp r10d, r13d
je 0x1403b52bc
mov r10d, r13d
sub r10d, esi
movsxd r11, dword [r9 + 0x1c]
movsxd r10, r10d
imul r10, r11
shr r10, 0x10
add r10d, dword [r9 + 0x20]
mov dword [r9 + 0x18], r10d
jmp 0x1403b52b8
mov r9d, ecx
and r9b, 2
cmp r8d, esi
cmovl esi, r8d
and cl, 1
xor r8d, r8d
cmp cl, 1
sbb r8d, r8d
mov dword [rsp + 0xe0], r8d
mov byte [rsp + 0x84], r9b
test r9b, r9b
je 0x1403b563e
cmp eax, edx
jge 0x1403b563e
mov rax, qword [rsp + 0x88]
mov ebp, eax
mov r12, qword [rsp + 0x68]
sub ebp, r12d
mov edi, ebp
sar edi, 0x10
mov r14d, r13d
sar r14d, 0x10
mov r15d, r14d
sub r15d, ebx
jne 0x1403b53c8
mov r14d, ebx
cmp byte [rsp + 0x4c0], 0
jne 0x1403b53fa
mov eax, r14d
shl eax, 0x10
mov ecx, r13d
sub ecx, eax
mov eax, ecx
shl eax, 8
sub eax, ecx
add eax, 0x8000
shr eax, 0x10
mov rcx, qword [rsp + 0x68]
mov ebx, ecx
sar ebx, 0x10
mov rcx, qword [rsp + 0x70]
mov r10, qword [rcx]
cmp al, 0xff
je 0x1403b548d
mov byte [rsp + 0x20], al
mov edx, ebx
mov r8d, r14d
mov r9d, edi
call qword [r10 + 0x68]
jmp 0x1403b563e
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x60]
mov edx, r12d
sar edx, 0x10
mov r10, qword [rax]
mov dword [rsp + 0x20], r15d
mov rcx, rax
mov r8d, ebx
mov r9d, edi
call qword [r10 + 0x20]
cmp byte [rsp + 0x4c0], 0
je 0x1403b537f
mov rdx, qword [rsp + 0x70]
cmp dword [rdx + 0x460], r14d
jne 0x1403b541c
mov rax, qword [rdx + 0x458]
cmp ebp, 0x10000
jge 0x1403b544b
jmp 0x1403b563e
mov dword [rdx + 0x460], r14d
mov eax, r14d
sub eax, dword [rdx + 0x2c]
imul eax, dword [rdx + 0x38]
add rax, qword [rdx + 0x20]
movsxd rcx, dword [rdx + 0x28]
sub rax, rcx
mov qword [rdx + 0x458], rax
cmp ebp, 0x10000
jl 0x1403b563e
mov rcx, qword [rsp + 0x68]
mov edx, ecx
sar edx, 0x10
shl r14d, 0x10
mov ecx, r13d
sub ecx, r14d
mov r8d, ecx
shl r8d, 8
sub r8d, ecx
add r8d, 0x8000
shr r8d, 0x10
movzx ecx, r8b
movsxd r9, edx
mov edx, edi
cmp ebp, 0x80000
jae 0x1403b54aa
xor r8d, r8d
jmp 0x1403b561c
xor edx, edx
call qword [r10 + 0x60]
mov r10, qword [rax]
mov rcx, rax
mov edx, ebx
mov r8d, r14d
mov r9d, edi
call qword [r10 + 8]
jmp 0x1403b563e
movd xmm0, ecx
cmp ebp, 0x100000
jae 0x1403b54be
xor r8d, r8d
jmp 0x1403b559b
mov r8d, edx
and r8d, 0xfffffff0
pshufd xmm1, xmm0, 0
lea r10, [rax + r9]
xor r11d, r11d
pxor xmm2, xmm2
movdqa xmm3, xmmword [0x14059c040]
nop dword [rax]
movdqu xmm4, xmmword [r10 + r11]
movdqa xmm5, xmm4
punpckhbw xmm5, xmm2
movdqa xmm7, xmm5
punpckhwd xmm7, xmm2
punpcklwd xmm5, xmm2
punpcklbw xmm4, xmm2
movdqa xmm6, xmm4
punpckhwd xmm6, xmm2
punpcklwd xmm4, xmm2
paddd xmm4, xmm1
paddd xmm6, xmm1
paddd xmm5, xmm1
paddd xmm7, xmm1
movdqa xmm8, xmm7
psrld xmm8, 8
movdqa xmm9, xmm5
psrld xmm9, 8
movdqa xmm10, xmm6
psrld xmm10, 8
movdqa xmm11, xmm4
psrld xmm11, 8
psubd xmm4, xmm11
psubd xmm6, xmm10
psubd xmm5, xmm9
psubd xmm7, xmm8
pand xmm7, xmm3
pand xmm5, xmm3
packuswb xmm5, xmm7
pand xmm6, xmm3
pand xmm4, xmm3
packuswb xmm4, xmm6
packuswb xmm4, xmm5
movdqu xmmword [r10 + r11], xmm4
add r11, 0x10
cmp r8, r11
jne 0x1403b54e0
cmp r8, rdx
je 0x1403b563e
test dl, 8
je 0x1403b561c
mov r10, r8
mov r8d, edx
and r8d, 0xfffffff8
pshufd xmm0, xmm0, 0
lea r11, [rax + r9]
pxor xmm1, xmm1
movdqa xmm2, xmmword [0x14059c040]
nop word [rax + rax]
movq xmm3, qword [r11 + r10]
punpcklbw xmm3, xmm1
movdqa xmm4, xmm3
punpckhwd xmm4, xmm1
punpcklwd xmm3, xmm1
paddd xmm3, xmm0
paddd xmm4, xmm0
movdqa xmm5, xmm4
psrld xmm5, 8
movdqa xmm6, xmm3
psrld xmm6, 8
psubd xmm3, xmm6
psubd xmm4, xmm5
pand xmm4, xmm2
pand xmm3, xmm2
packuswb xmm3, xmm4
packuswb xmm3, xmm3
movq qword [r11 + r10], xmm3
add r10, 8
cmp r8, r10
jne 0x1403b55c0
cmp r8, rdx
je 0x1403b563e
add rax, r9
nop
movzx r9d, byte [rax + r8]
add r9d, ecx
mov r10d, r9d
shr r10d, 8
sub r9d, r10d
mov byte [rax + r8], r9b
inc r8
cmp rdx, r8
jne 0x1403b5620
or dword [rsp + 0xe0], 1
shr byte [rsp + 0x84], 1
mov rbx, qword [rsp + 0x68]
mov eax, ebx
sar eax, 0x10
mov dword [rsp + 0xf4], eax
shl dword [rsp + 0xa8], 0x10
mov rdi, qword [rsp + 0x70]
mov r14, r13
jmp 0x1403b5678
cmp ebp, esi
cmovl esi, ebp
mov r14d, r13d
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0xdc], eax
mov ecx, r14d
and ecx, 0xffff0000
add ecx, 0x10000
cmp ecx, esi
cmovge ecx, esi
mov r15, qword [rsp + 0x148]
mov eax, ecx
sub eax, r14d
lea r13d, [r14 + 0x4000]
mov edx, eax
shr edx, 0xf
and edx, 1
test eax, 0x4000
mov eax, 2
cmovne edx, eax
mov dword [rsp + 0xd0], edx
mov dword [rsp + 0xe4], ecx
cmove r13d, ecx
mov eax, r13d
sub eax, r14d
mov ecx, eax
shl ecx, 8
sub ecx, eax
add ecx, 0x8000
shr ecx, 0x10
mov dword [rsp + 0xc8], ecx
cmp byte [rsp + 0x4c0], 0
je 0x1403b5720
mov ecx, r14d
sar ecx, 0x10
cmp dword [rdi + 0x460], ecx
jne 0x1403b5730
mov rcx, qword [rdi + 0x458]
jmp 0x1403b574f
xor ecx, ecx
jmp 0x1403b574f
mov dword [rdi + 0x460], ecx
sub ecx, dword [rdi + 0x2c]
imul ecx, dword [rdi + 0x38]
add rcx, qword [rdi + 0x20]
movsxd rax, dword [rdi + 0x28]
sub rcx, rax
mov qword [rdi + 0x458], rcx
mov qword [rsp + 0x98], rcx
cmp dword [r15 + 0x28], r14d
jle 0x1403b5910
mov dword [rsp + 0x80], 0
mov ebp, 0x7fffffff
mov dword [rsp + 0xb8], 0
mov eax, ebx
mov dword [rsp + 0x90], ebx
lea rsi, [rsp + 0x148]
movzx ebx, byte [rsp + 0x84]
test bl, bl
mov rdi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
je 0x1403b607b
mov eax, dword [rsp + 0xc0]
cmp dword [rsp + 0xa0], eax
jle 0x1403b5ff0
mov rax, qword [rsi + 0x10]
lea rcx, [rsp + 0x100]
cmp rax, rcx
sete cl
test rax, rax
je 0x1403b582e
test cl, cl
jne 0x1403b582e
mov r9d, dword [rax + 0x18]
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], ebx
movzx eax, byte [rsp + 0x4c8]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x4c0]
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r12, rsi
mov rcx, rsi
mov edx, r14d
mov r8d, dword [rsp + 0x90]
call fcn.1403b8a20
mov rax, qword [rsi + 0x10]
test rax, rax
jne 0x1403b587e
mov rdx, rsi
mov eax, dword [rsp + 0x90]
mov dword [rsi + 0x34], eax
mov dword [rsi + 0x38], r14d
mov eax, dword [rsp + 0xb8]
mov dword [rsi + 0x3c], eax
mov eax, dword [rsp + 0x118]
mov ecx, dword [rsp + 0x130]
mov dword [rsp + 0x134], eax
mov dword [rsp + 0x138], r14d
mov dword [rsp + 0x13c], ecx
lea rax, [rsp + 0x100]
mov qword [rsi + 0x10], rax
mov r9d, dword [rsp + 0x11c]
mov ecx, dword [rsp + 0xd0]
sar r9d, cl
add r9d, dword [rsp + 0x118]
mov dword [rsp + 0x124], r13d
mov dword [rsp + 0x118], r9d
cmp word [rsp + 0xe4], 0
je 0x1403b58c2
mov eax, dword [rsp + 0x80]
and al, 1
je 0x1403b607b
mov r8d, dword [rsi + 0x18]
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], ebx
movzx eax, byte [rsp + 0x4c8]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x4c0]
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov rcx, rsi
mov edx, r13d
call fcn.1403b8a20
jmp 0x1403b607b
cmp byte [rsp + 0xc8], 0xff
setne al
mov ecx, r14d
sar ecx, 0x10
mov dword [rsp + 0xfc], ecx
lea ecx, [r13 + 0x4000]
mov dword [rsp + 0xf8], ecx
or al, byte [rsp + 0x4c8]
mov byte [rsp + 0xaf], al
mov ebp, 0x7fffffff
xor edx, edx
mov rax, rbx
movzx ebx, byte [rsp + 0x84]
lea rsi, [rsp + 0x148]
mov dword [rsp + 0x90], eax
mov dword [rsp + 0xb8], 0
mov dword [rsp + 0x80], 0
mov eax, dword [rsp + 0xf4]
mov dword [rsp + 0xe8], eax
mov qword [rsp + 0xb0], r14
jmp 0x1403b59c7
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
mov qword [rcx], rax
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
mov qword [rax + 8], rcx
cmp dword [r15 + 0x28], r14d
mov edx, dword [rsp + 0x78]
jg 0x1403b5795
mov r12, r15
mov r14d, ebx
mov eax, edx
movsx ecx, byte [r15 + 0x47]
add ecx, edx
mov dword [rsp + 0x78], ecx
test dword [rsp + 0xe0], ecx
setne bl
xor bl, byte [rsp + 0x84]
mov edi, ebx
xor dil, 1
and dil, r14b
xor r14b, 1
and r14b, bl
mov eax, dword [rsp + 0xc0]
cmp dword [rsp + 0xa0], eax
jle 0x1403b5c40
mov r15d, dword [r12 + 0x2c]
mov rax, qword [r12 + 0x10]
test rax, rax
sete cl
or cl, r14b
jne 0x1403b5a81
mov r9d, dword [rax + 0x18]
mov r8d, dword [r12 + 0x18]
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x4c8]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x4c0]
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov rcx, r12
mov rdx, qword [rsp + 0xb0]
call fcn.1403b8a20
cmp qword [rsi + 0x10], r12
setne al
or al, dil
jne 0x1403b5aee
mov r9d, dword [r12 + 0x18]
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x4c8]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x4c0]
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, qword [rsp + 0xb0]
mov r8d, dword [rsp + 0x90]
call fcn.1403b8a20
test dil, dil
je 0x1403b5d10
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1403b5d7c
cmp rax, r12
mov r14, qword [rsp + 0xb0]
je 0x1403b5b70
mov r9d, dword [rax + 0x18]
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x4c8]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x4c0]
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov edx, r14d
mov r8d, dword [rsp + 0x90]
call fcn.1403b8a20
mov rax, qword [rsi + 0x10]
test rax, rax
jne 0x1403b5baa
mov eax, dword [rsp + 0x90]
mov dword [rsi + 0x34], eax
mov dword [rsi + 0x38], r14d
mov eax, dword [rsp + 0xb8]
mov dword [rsi + 0x3c], eax
mov eax, dword [r12 + 0x18]
mov ecx, dword [r12 + 0x30]
mov dword [r12 + 0x34], eax
mov dword [r12 + 0x38], r14d
mov dword [r12 + 0x3c], ecx
mov qword [rsi + 0x10], r12
mov r9d, dword [r12 + 0x1c]
mov ecx, dword [rsp + 0xd0]
sar r9d, cl
add r9d, dword [r12 + 0x18]
mov dword [r12 + 0x24], r13d
mov dword [r12 + 0x18], r9d
cmp word [rsp + 0xe4], 0
je 0x1403b5be7
mov eax, dword [rsp + 0x80]
and al, 1
jne 0x1403b5be7
cmp r15d, r13d
jne 0x1403b5e2d
mov r8d, dword [rsi + 0x18]
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x4c8]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x4c0]
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov edx, r13d
call fcn.1403b8a20
jmp 0x1403b5e2d
test dil, dil
je 0x1403b5d10
mov dword [r12 + 0x24], r13d
mov r15d, dword [r12 + 0x18]
mov edx, dword [r12 + 0x1c]
mov ecx, dword [rsp + 0xd0]
sar edx, cl
add edx, r15d
mov dword [r12 + 0x18], edx
mov r9d, dword [rsi + 0x18]
mov rax, qword [rsp + 0x68]
cmp r9d, eax
cmovg eax, r9d
mov rcx, qword [rsp + 0x88]
cmp r15d, ecx
cmovge r15d, ecx
cmp edx, ecx
cmovl ecx, edx
movzx r8d, byte [rsp + 0x4c8]
cmp byte [rsp + 0xaf], 0
jne 0x1403b5da0
mov r10d, dword [rsp + 0x90]
sar r10d, 0x10
mov r8b, 1
mov r11d, dword [rsp + 0xe8]
cmp r10d, r11d
jl 0x1403b5da0
sar r9d, 0x10
cmp r9d, r11d
jl 0x1403b5da0
mov r8, qword [r12]
test r8, r8
je 0x1403b5d92
cmp dword [r8 + 0x28], r13d
jge 0x1403b5d92
add edx, 0x10000
mov r9d, dword [r8 + 0x1c]
mov r10d, r9d
neg r10d
cmovns r10d, r9d
add r10d, dword [r8 + 0x18]
cmp edx, r10d
setge r8b
jmp 0x1403b5da0
test r14b, r14b
je 0x1403b5d50
mov eax, dword [r12 + 0x18]
mov rcx, qword [rsp + 0x68]
cmp eax, ecx
cmovg ecx, eax
mov dword [rsp + 0x90], ecx
mov ecx, dword [r12 + 0x30]
mov dword [rsp + 0xb8], ecx
cmp dword [r12 + 0x2c], r13d
sete cl
mov dword [rsp + 0x80], ecx
mov rsi, r12
jmp 0x1403b5d55
mov eax, dword [r12 + 0x18]
mov r14, qword [rsp + 0xb0]
mov dword [r12 + 0x24], r13d
mov edx, dword [r12 + 0x1c]
mov ecx, dword [rsp + 0xd0]
sar edx, cl
add edx, eax
mov dword [r12 + 0x18], edx
jmp 0x1403b5e2d
mov r14, qword [rsp + 0xb0]
test rax, rax
jne 0x1403b5baa
jmp 0x1403b5b75
xor r8d, r8d
nop word cs:[rax + rax]
mov edx, dword [r12 + 0x30]
mov byte [rsp + 0x58], r8b
movzx r8d, byte [rsp + 0x4c0]
mov byte [rsp + 0x50], r8b
mov r8, qword [rsp + 0x98]
mov qword [rsp + 0x48], r8
mov r8d, dword [rsp + 0xc8]
mov byte [rsp + 0x40], r8b
mov dword [rsp + 0x38], edx
mov edx, dword [rsp + 0xb8]
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov byte [rsp + 0x60], 1
mov rcx, qword [rsp + 0x70]
mov edx, dword [rsp + 0xfc]
mov r8d, dword [rsp + 0x90]
mov r9d, r15d
call fcn.1403b68c0
mov eax, dword [r12 + 0x18]
cmp r15d, eax
cmovg eax, r15d
add eax, 0xffff
sar eax, 0x10
mov dword [rsp + 0xe8], eax
mov r14, qword [rsp + 0xb0]
mov r15, qword [r12]
mov eax, dword [r12 + 0x2c]
cmp eax, r13d
jle 0x1403b5e7c
cmp eax, r13d
jle 0x1403b59a0
jmp 0x1403b5eba
mov eax, dword [r12 + 0x18]
mov ecx, dword [r12 + 0x24]
mov dword [r12 + 0x70], eax
mov dword [r12 + 0x98], ecx
mov rcx, r12
mov dl, 1
call fcn.1403fcb50
test al, al
je 0x1403b5eac
cmp dword [r12 + 0x2c], r13d
jg 0x1403b5eac
cmp byte [r12 + 0x44], 0
js 0x1403b5e50
je 0x1403b5eac
mov eax, dword [r12 + 0x18]
mov ecx, dword [r12 + 0x24]
mov dword [r12 + 0x90], eax
mov dword [r12 + 0x94], ecx
mov rcx, r12
call fcn.1403fcd00
test al, al
jne 0x1403b5e75
mov eax, dword [r12 + 0x2c]
cmp eax, r13d
jle 0x1403b59a0
cmp ebp, eax
cmovge ebp, eax
mov r9d, dword [r12 + 0x18]
cmp r9d, dword [rsp + 0xdc]
jge 0x1403b5fa0
mov eax, dword [rsp + 0xc0]
cmp dword [rsp + 0xa0], eax
jle 0x1403b5f40
cmp qword [rsi + 0x10], r12
jne 0x1403b5f40
mov r8d, dword [rsi + 0x18]
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x4c8]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x4c0]
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov edx, r13d
call fcn.1403b8a20
mov r9d, dword [r12 + 0x18]
mov rcx, qword [r12 + 8]
mov rdx, rcx
nop dword [rax + rax]
mov rax, rdx
mov rdx, qword [rdx + 8]
test rdx, rdx
je 0x1403b5f62
cmp dword [rax + 0x18], r9d
jg 0x1403b5f50
cmp qword [rax], r12
je 0x1403b5fa8
mov rdx, qword [r12]
mov qword [rcx], rdx
mov rcx, qword [r12]
mov rdx, qword [r12 + 8]
mov qword [rcx + 8], rdx
mov qword [r12 + 8], rax
mov rcx, qword [rax]
mov qword [r12], rcx
mov rcx, qword [rax]
mov qword [rcx + 8], r12
mov qword [rax], r12
jmp 0x1403b5fa8
mov dword [rsp + 0xdc], r9d
mov eax, dword [rsp + 0xcc]
cmp dword [rsp + 0xd8], eax
jg 0x1403b59b9
mov rax, qword [r12 + 8]
cmp qword [rax + 8], 0
je 0x1403b59b9
mov ecx, dword [rax + 0x1c]
add ecx, dword [rax + 0x18]
mov eax, dword [r12 + 0x1c]
add eax, dword [r12 + 0x18]
cmp ecx, eax
cmovg ebp, dword [rsp + 0xf8]
jmp 0x1403b59b9
mov al, 1
cmp byte [rsp + 0x4c8], 0
mov r9, qword [rsp + 0x88]
jne 0x1403b6014
cmp byte [rsp + 0xc8], 0xff
je 0x1403b61d1
xor eax, eax
mov ecx, dword [rsi + 0x18]
cmp ecx, ebx
cmovle ecx, ebx
mov edx, r14d
sar edx, 0x10
mov byte [rsp + 0x58], al
movzx eax, byte [rsp + 0x4c0]
mov byte [rsp + 0x50], al
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0xc8]
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x20], ecx
mov byte [rsp + 0x60], 1
mov dword [rsp + 0x38], 0
mov rcx, rdi
mov r8d, dword [rsp + 0x90]
call fcn.1403b68c0
cmp byte [rsp + 0x4c8], 0
je 0x1403b6097
mov rax, qword [rdi]
mov rcx, rdi
mov edx, r14d
mov r8d, r13d
call qword [rax + 0x88]
cmp r13d, dword [rsp + 0xa8]
jge 0x1403b621a
mov esi, dword [r15 + 0x28]
cmp esi, r13d
jg 0x1403b5670
mov rcx, qword [r15 + 8]
mov eax, dword [r15 + 0x18]
cmp dword [rcx + 0x18], eax
jle 0x1403b6180
nop word cs:[rax + rax]
mov rdx, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x1403b60e1
cmp dword [rdx + 0x18], eax
jg 0x1403b60d0
lea eax, [r13 + 0x4000]
jmp 0x1403b6113
mov edx, ebp
mov r8d, dword [rcx + 0x2c]
cmp ebp, r8d
cmovg ebp, r8d
cmp r8d, r13d
cmovle ebp, edx
mov esi, dword [r15 + 0x28]
mov rdx, rcx
cmp esi, r13d
jg 0x1403b5670
mov rcx, r15
mov r15, qword [r15]
nop dword [rax]
mov r8, rdx
mov rdx, qword [rdx]
cmp rdx, rcx
je 0x1403b615b
mov r9d, dword [rdx + 0x18]
cmp r9d, dword [rcx + 0x18]
jl 0x1403b6120
mov rdx, qword [rcx + 8]
mov qword [rdx], r15
mov rdx, qword [rcx]
mov r9, qword [rcx + 8]
mov qword [rdx + 8], r9
mov qword [rcx + 8], r8
mov rdx, qword [r8]
mov qword [rcx], rdx
mov rdx, qword [r8]
mov qword [rdx + 8], rcx
mov qword [r8], rcx
mov rdx, qword [rcx + 8]
cmp qword [rdx + 8], 0
je 0x1403b60f0
mov r8d, dword [rdx + 0x1c]
add r8d, dword [rdx + 0x18]
mov edx, dword [rcx + 0x1c]
add edx, dword [rcx + 0x18]
cmp r8d, edx
cmovg ebp, eax
jmp 0x1403b60f0
lea eax, [r13 + 0x4000]
jmp 0x1403b61b1
mov ecx, ebp
mov edx, dword [r15 + 0x2c]
cmp ebp, edx
cmovg ebp, edx
cmp edx, r13d
cmovle ebp, ecx
mov r15, qword [r15]
mov esi, dword [r15 + 0x28]
cmp esi, r13d
jg 0x1403b5670
mov rcx, qword [r15 + 8]
cmp qword [rcx + 8], 0
je 0x1403b6190
mov edx, dword [rcx + 0x1c]
add edx, dword [rcx + 0x18]
mov ecx, dword [r15 + 0x1c]
add ecx, dword [r15 + 0x18]
cmp edx, ecx
cmovg ebp, eax
jmp 0x1403b6190
xor eax, eax
test rsi, rsi
je 0x1403b6014
mov rcx, rsi
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1403b6014
cmp dword [rsi + 0x28], r13d
jge 0x1403b6012
mov r8, rsi
mov eax, dword [rcx + 0x18]
mov ecx, 0x10000
add eax, ecx
mov ecx, dword [rsi + 0x1c]
mov edx, ecx
neg edx
cmovns edx, ecx
add edx, dword [rsi + 0x18]
cmp eax, edx
setge al
jmp 0x1403b6014
lea r15, [rsp + 0x1a0]
lea r12, method.icu::StringEnumeration.virtual_0
lea rbx, [rsp + 0x3b8]
mov qword [rsp + 0x190], r12
mov rcx, rbx
call fcn.14007a670
mov rcx, r15
call fcn.1400ba660
mov rcx, qword [rsp + 0x3d8]
xor rcx, rsp
call fcn.1405602f0
movaps xmm6, xmmword [rsp + 0x3e0]
movaps xmm7, xmmword [rsp + 0x3f0]
movaps xmm8, xmmword [rsp + 0x400]
movaps xmm9, xmmword [rsp + 0x410]
movaps xmm10, xmmword [rsp + 0x420]
movaps xmm11, xmmword [rsp + 0x430]
add rsp, 0x448
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret