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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x250]
cmp rax, qword [rcx + 0x10]
jbe 0x45e1b5
sub rsp, 0x2d0
mov qword [rsp + 0x2c8], rbp
lea rbp, [rsp + 0x2c8]
mov rax, qword [rsp + 0x2f8]
test rax, rax
jle 0x45df61
mov rcx, qword [rsp + 0x310]
test rcx, rcx
jne 0x45e19b
mov rdx, qword gs:[0x28]
mov rdx, qword [rdx]
mov rbx, qword [rsp + 0x2f0]
cmp rbx, rdx
jne 0x45c7e9
mov rsi, qword [rdx + 0x30]
cmp qword [rsi + 0x90], rdx
je 0x45e182
mov esi, dword [0x0118a234]
mov rdx, qword [rdx + 0x30]
movzx edx, byte [rdx + 0xf9]
shr esi, 2
test dl, dl
cmovne esi, edx
mov rdx, qword [rsp + 0x2d8]
cmp rdx, 0xffffffffffffffff
jne 0x45df57
mov r8, qword [rsp + 0x2e0]
cmp r8, 0xffffffffffffffff
jne 0x45df45
mov rdx, qword [rbx + 0x70]
test rdx, rdx
je 0x45df34
mov r8, qword [rbx + 0x78]
xor edi, edi
mov qword [rsp + 0x270], 0
mov r9, rdi
lea rdi, [rsp + 0x278]
xorps xmm0, xmm0
lea rdi, [rdi - 0x30]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004699e5
mov rbp, qword [rbp]
mov qword [rsp + 0x280], r8
mov qword [rsp + 0x298], rdx
mov r10, qword [rbx + 0x148]
mov r11, qword [rbx + 0x140]
mov r12, qword [rsp + 0x300]
test r12, r12
je 0x45df28
xor edi, edi
mov byte [rsp + 0x3d], dil
mov qword [rsp + 0xa0], r10
mov qword [rsp + 0x248], r11
mov qword [rsp + 0x268], r9
mov dword [rsp + 0x40], esi
test r8, r8
jne 0x45c8db
mov r8, rdx
mov rdx, qword [rdx]
mov qword [rsp + 0x280], rdx
lea rdx, [r8 + 8]
mov qword [rsp + 0x298], rdx
mov rax, qword [rsp + 0x280]
mov qword [rsp], rax
call fcn.00454540
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
test rcx, rcx
je 0x45de5c
mov qword [rsp + 0x270], rcx
mov qword [rsp + 0x278], rax
lea rdi, [rsp + 0xe0]
xorps xmm0, xmm0
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004699b4
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x308]
mov rcx, qword [rsp + 0x2f0]
mov rbx, qword [rsp + 0x2f8]
mov rsi, qword [rsp + 0x248]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x268]
xor edx, edx
xor edi, edi
xor r10d, r10d
xor r11d, r11d
jmp 0x45c9ef
mov qword [rsp + 0x270], r14
mov r13, qword [rsp + 0x220]
mov qword [rsp + 0x278], r13
mov r13, qword [rsp + 0x290]
mov qword [rsp + 0x280], r13
mov qword [rsp + 0x290], 0
mov r13, qword [rsp + 0x2a0]
mov qword [rsp + 0x298], r13
mov qword [rsp + 0x2a0], 0
mov qword [rsp + 0x2c0], 0
cmp r12b, 9
sete r12b
mov r13, qword [rsp + 0x308]
mov r14, qword [rsp + 0x2f0]
mov rax, r13
mov rcx, r14
mov rdx, rdi
xor r9d, r9d
mov edi, r12d
cmp rdx, rax
jge 0x45de46
mov r12, qword [rsp + 0x270]
mov r13, qword [rsp + 0x278]
cmp dword [r12 + 0x14], 0
je 0x45de30
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x2f8], rbx
mov byte [rsp + 0x3b], r10b
mov qword [rsp + 0x240], r9
mov byte [rsp + 0x3a], dil
cmp qword [rsp + 0x2a0], 0
je 0x45dc75
mov r14, qword [rcx + 0x30]
test r14, r14
je 0x45dc6d
cmp qword [r14], rcx
sete r14b
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x260], rsi
mov qword [rsp + 0x210], r13
mov qword [rsp + 0x238], r12
movzx r15d, byte [r12 + 0x24]
cmp r15b, 2
jne 0x45d9cb
mov qword [rsp + 0x290], 0
xor r14d, r14d
xor r15d, r15d
mov rcx, qword [rsp + 0x2a0]
mov qword [rsp + 0x2a8], rcx
lea rax, [rcx - 8]
mov qword [rsp + 0x2a8], rax
cmp qword [rsp + 0x298], rax
jae 0x45cad8
cmp byte [0x01213b00], 0
je 0x45cad8
lea rax, [rcx - 0x10]
mov qword [rsp + 0x2a8], rax
mov qword [rsp + 0x228], r14
mov qword [rsp + 0x220], r15
mov rax, qword [rsp + 0x310]
test rax, rax
je 0x45d9b6
mov rcx, qword [rsp + 0x2a0]
mov qword [rsp + 0x2b0], rcx
je 0x45d9af
cmp dword [r12 + 0xc], 0x80000000
sete cl
movsxd r15, dword [r12 + 0xc]
mov qword [rsp + 0x2b8], r15
mov qword [rsp + 0x2c0], 0
test cl, cl
jne 0x45d919
mov rcx, qword [rsp + 0x280]
mov qword [rsp + 0x288], rcx
test dil, dil
je 0x45d911
mov rcx, qword [rsp + 0x270]
mov r9d, dword [rcx + 0x10]
test r9d, r9d
je 0x45d8fd
mov rcx, qword [rcx]
lea rcx, [r9 + rcx]
lea rcx, [rcx + 1]
mov qword [rsp + 0x288], rcx
test rax, rax
jne 0x45d85b
mov rcx, qword [rsp + 0x300]
test rcx, rcx
jne 0x45d572
mov qword [rsp + 0x2f8], rbx
movzx r9d, byte [rsp + 0x3d]
test r9b, r9b
jne 0x45ccc1
lea rdi, [rdx + 1]
cmp byte [r12 + 0x24], 0xe
jne 0x45cbd1
test r8, r8
jle 0x45cbd1
mov r13, qword [rsi + r8*8 - 8]
test rbx, rbx
jne 0x45cbce
test rax, rax
je 0x45cc39
dec r8
movzx r12d, byte [r12 + 0x24]
cmp r12b, 9
test r14, r14
jne 0x45c96c
movzx ecx, r9b
test rcx, rcx
cmovne rdi, r11
test rax, rax
je 0x45cc21
mov rax, qword [rsp + 0x308]
cmp rdi, rax
jge 0x45cc21
mov rcx, qword [rsp + 0x298]
mov rdx, qword [rsp + 0x2f0]
mov rbx, qword [rdx + 0x80]
cmp rcx, rbx
jne 0x45df6e
mov qword [rsp + 0x328], rdi
mov rbp, qword [rsp + 0x2c8]
add rsp, 0x2d0
ret
mov qword [rsp + 0xd8], r11
mov byte [rsp + 0x3f], r10b
mov qword [rsp], rcx
mov byte [rsp + 8], r9b
mov qword [rsp + 0x10], r13
mov qword [rsp + 0x18], rdi
mov rax, qword [rsp + 0x308]
mov qword [rsp + 0x20], rax
call fcn.0045e380
mov rdi, qword [rsp + 0x28]
mov rax, qword [rsp + 0x310]
mov rcx, qword [rsp + 0x300]
mov rbx, qword [rsp + 0x2f8]
mov rsi, qword [rsp + 0x260]
mov r8, qword [rsp + 0xa0]
movzx r9d, byte [rsp + 0x3d]
movzx r10d, byte [rsp + 0x3f]
mov r11, qword [rsp + 0xd8]
mov r12, qword [rsp + 0x238]
mov r14, qword [rsp + 0x228]
jmp 0x45cbce
mov byte [rsp + 0x3e], r10b
mov qword [rsp + 0xd0], rdx
mov r15, qword [rsp + 0x280]
test rdx, rdx
jle 0x45d54d
cmp qword [r12], r15
jae 0x45ccee
test dil, dil
je 0x45d545
mov qword [rsp + 0x48], r15
mov qword [rsp], r12
mov qword [rsp + 8], r13
mov byte [rsp + 0x10], 4
call fcn.00455450
mov rax, qword [rsp + 0x18]
test rax, rax
jne 0x45d25f
movzx eax, byte [rsp + 0x3e]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0x48], rcx
mov rbx, qword [rsp + 0x320]
bt ebx, 0
jae 0x45d201
mov eax, 1
test al, al
jne 0x45cd9f
mov r12, qword [rsp + 0x238]
movzx r10d, byte [r12 + 0x24]
mov rax, qword [rsp + 0x310]
mov rcx, qword [rsp + 0x300]
mov rbx, qword [rsp + 0x2f8]
mov rsi, qword [rsp + 0x260]
mov r8, qword [rsp + 0xa0]
movzx r9d, byte [rsp + 0x3d]
mov r14, qword [rsp + 0x228]
mov r11, rdx
mov rdx, qword [rsp + 0xd0]
jmp 0x45cbae
mov rax, qword [rsp + 0x238]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x210]
mov qword [rsp + 8], rcx
call fcn.00454cb0
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x1e0], rcx
mov rdx, qword [rsp + 0x238]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x210]
mov qword [rsp + 8], rbx
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0x10], rbx
call fcn.00454ff0
movsxd rax, dword [rsp + 0x28]
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x98], rcx
mov rdx, qword [rsp + 0x18]
mov qword [rsp + 0x200], rdx
mov rbx, qword [rsp + 0x68]
cmp rbx, 0xf
jne 0x45d1ef
movabs rsi, 0x2e656d69746e7572
mov rdi, qword [rsp + 0x1e0]
cmp qword [rdi], rsi
jne 0x45d1e2
cmp dword [rdi + 8], 0x61706f67
jne 0x45d1d5
cmp word [rdi + 0xc], 0x696e
jne 0x45d1c8
cmp byte [rdi + 0xe], 0x63
jne 0x45d1bb
lea rbx, [0x00c07b29]
mov edi, 5
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x68], rdi
call fcn.004397f0
mov rax, qword [rsp + 0x1e0]
mov qword [rsp], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 8], rax
call fcn.0043a1a0
lea rax, [0x00c0597f]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0043a1a0
call fcn.00439880
mov rax, qword [rsp + 0x2b0]
mov qword [rsp + 0x258], rax
xor ecx, ecx
jmp 0x45cf18
test byte [rax], al
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0xb8], rdx
call fcn.004397f0
mov rax, qword [rsp + 0xb8]
mov qword [rsp], rax
call fcn.0043a030
call fcn.00439880
mov rax, qword [rsp + 0x88]
lea rcx, [rax + 1]
mov rax, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x2b8]
shr rdx, 3
cmp rcx, rdx
jae 0x45cf97
cmp rcx, 0xa
jae 0x45cf74
mov qword [rsp + 0x88], rcx
test rcx, rcx
je 0x45cedb
call fcn.004397f0
lea rax, [0x00c059ea]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0043a1a0
call fcn.00439880
mov rax, qword [rsp + 0x258]
mov rcx, qword [rsp + 0x88]
jmp 0x45cedb
call fcn.004397f0
lea rax, [0x00c07223]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call fcn.0043a1a0
call fcn.00439880
call fcn.004397f0
lea rax, [0x00c059e2]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0043a1a0
call fcn.00439880
call fcn.004397f0
lea rax, [0x00c059a8]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0043a1a0
mov rax, qword [rsp + 0x200]
mov qword [rsp], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 8], rax
call fcn.0043a1a0
lea rax, [0x00c0598c]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0043a1a0
mov rax, qword [rsp + 0xc0]
mov qword [rsp], rax
call fcn.00439fc0
call fcn.00439880
mov rax, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x238]
mov rdx, qword [rcx]
cmp rax, rdx
ja 0x45d15f
mov rax, qword [rsp + 0x2f0]
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x45d150
cmp dword [rdx + 0xc4], 0
jle 0x45d150
cmp qword [rdx + 0x90], rax
jne 0x45d150
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0x298]
mov qword [rsp + 0xb0], rcx
mov rdx, qword [rsp + 0x280]
mov qword [rsp + 0xa8], rdx
call fcn.004397f0
lea rax, [0x00c06931]
mov qword [rsp], rax
mov qword [rsp + 8], 4
call fcn.0043a1a0
mov rax, qword [rsp + 0xb8]
mov qword [rsp], rax
call fcn.0043a030
lea rax, [0x00c06951]
mov qword [rsp], rax
mov qword [rsp + 8], 4
call fcn.0043a1a0
mov rax, qword [rsp + 0xb0]
mov qword [rsp], rax
call fcn.0043a030
lea rax, [0x00c06949]
mov qword [rsp], rax
mov qword [rsp + 8], 4
call fcn.0043a1a0
mov rax, qword [rsp + 0xa8]
mov qword [rsp], rax
call fcn.0043a030
call fcn.00439880
call fcn.004397f0
call fcn.00439a90
call fcn.00439880
mov rax, qword [rsp + 0xc8]
lea rdx, [rax + 1]
mov rbx, qword [rsp + 0x320]
jmp 0x45cd4b
mov edx, dword [rsp + 0x40]
cmp edx, 2
jge 0x45d070
jmp 0x45d128
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xb0], rdx
call fcn.004397f0
lea rax, [0x00c059b8]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0043a1a0
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
sub rax, rcx
mov qword [rsp], rax
call fcn.0043a030
call fcn.00439880
mov rcx, qword [rsp + 0x238]
jmp 0x45d041
mov rbx, rdi
mov rdi, qword [rsp + 0x68]
jmp 0x45ce7c
mov rbx, rdi
mov rdi, qword [rsp + 0x68]
jmp 0x45ce7c
mov rbx, rdi
mov rdi, qword [rsp + 0x68]
jmp 0x45ce7c
mov rbx, rdi
mov rdi, qword [rsp + 0x68]
jmp 0x45ce7c
mov rbx, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x68]
jmp 0x45ce7c
mov rcx, qword [rsp + 0x238]
movzx ebx, byte [rcx + 0x24]
mov qword [rsp], rcx
mov rsi, qword [rsp + 0x210]
mov qword [rsp + 8], rsi
mov rdi, qword [rsp + 0x2f0]
mov qword [rsp + 0x10], rdi
test rdx, rdx
sete byte [rsp + 0x18]
mov byte [rsp + 0x19], bl
mov byte [rsp + 0x1a], al
call fcn.0045f3e0
movzx eax, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x320]
jmp 0x45cd47
mov qword [rsp + 0x258], rax
mov rcx, qword [rsp + 0x48]
movzx edx, byte [rsp + 0x3e]
mov rbx, qword [rsp + 0x60]
jmp 0x45d2ac
mov rsi, qword [rsp + 0x270]
lea rax, [rax + rax*4]
mov rdi, rax
shl rax, 2
mov r8, qword [rsp + 0x258]
movzx eax, byte [rax + r8 + 2]
mov edi, dword [r8 + rdi*4 + 0x10]
movsxd rdi, edi
add rdi, qword [rsi]
mov edx, eax
mov rbx, rcx
mov rcx, rdi
mov qword [rsp + 0xc8], rbx
mov byte [rsp + 0x3b], dl
mov qword [rsp + 0x48], rcx
mov rax, qword [rsp + 0x238]
mov qword [rsp], rax
mov rsi, qword [rsp + 0x210]
mov qword [rsp + 8], rsi
mov dword [rsp + 0x10], 2
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], 0
call fcn.004552f0
mov eax, dword [rsp + 0x28]
test eax, eax
jl 0x45d52e
mov dword [rsp + 0x44], eax
mov rdx, qword [rsp + 0x320]
bt edx, 0
jae 0x45d4ab
mov ecx, 1
test cl, cl
jne 0x45d338
mov rcx, qword [rsp + 0xc8]
movsxd rax, eax
cmp rax, 0x100000
jb 0x45d278
jmp 0x45e10b
movsxd rbx, eax
cmp rbx, 0x100000
jae 0x45e115
lea rax, [rbx + rbx*4]
mov rcx, qword [rsp + 0x258]
mov eax, dword [rcx + rax*4 + 0xc]
mov rdx, qword [rsp + 0x238]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x210]
mov qword [rsp + 8], rbx
mov dword [rsp + 0x10], eax
call fcn.00454d60
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x1e8], rcx
mov rdx, qword [rsp + 0x238]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x210]
mov qword [rsp + 8], rbx
mov rsi, qword [rsp + 0x48]
mov qword [rsp + 0x10], rsi
call fcn.00454ff0
movsxd rax, dword [rsp + 0x28]
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x90], rcx
mov rdx, qword [rsp + 0x18]
mov qword [rsp + 0x208], rdx
call fcn.004397f0
mov rax, qword [rsp + 0x1e8]
mov qword [rsp], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 8], rax
call fcn.0043a1a0
lea rax, str._...__n__i____id:___not___val_______n0._02d2.11.1390625:https__chan__a_._nACPKIXAElig_AacuteAcceptAcirc_AgraveAlpha_Amacr_AngolaAnswerAogon_ArabicAring_AtildeAugustBADALGBADKEYBADSIGBasic_BelizeBhutanBrahmiBrazilBreve_CANCELCanadaCarianCcedilCcirc_ChakmaChypreClientClosedColon_CommonCookieCopticCross_CyprusDNSKEYDashv_Date:_Delta_EacuteEcirc_EgraveEmacr_Eogon_Equal_ExpectFormatFranceFridayGOAWAYGOROOTGOST94Gamma_Gcirc_GetACPGot__sGothicGreeceGuineaGuyanaHOPOPTHacek_HangulHatranHatiHcirc_HebrewHost:_HyphenIJlig_IQUERYIacuteIcirc_IgraveImacr_InErrsInPktsInSegsIogon_IsraelIukcy_Jcirc_JerseyJordanJukcy_KaithiKappa_KhojkiKuwaitLatviaLepchaLockedLycianLydianMMXEXTMalawiMexicoMonacoMondayNIMLOCNOTIFYNOTIMPNorwayNtildeOElig_OacuteOcirc_OgraveOmacr_Omega_OriginOslashOtildePADDEDPOPCNTPanamaPolandPragmaPrime_RBarr_RDRANDRDSEEDRDTSCPRSAMD5RejangRwandaSCHED_SHA256SHA384SHA512SMIMEASSE4.1SSE4.2STATUSSTREETScirc_SerbiaServerSigma_SingleStringSundaySwedenSyriacTALINKTHORN_TRADE_TSHcy_Tai_LeTangutTeluguThaanaTheta_Tilde_TurkeyTuvaluTypeMXTypeNSUNSPECUPDATEUTC12UTC13UTC_02UTC_08UTC_09UTC_11UacuteUbrcy_Ucirc_UgandaUgraveUmacr_Union_Uogon_UpTee_Uring_VDash_Vdash_WanchoWcirc_Wedge_YacuteYcirc_Zambia__s____byte_
mov qword [rsp], rax
mov qword [rsp + 8], 6
call fcn.0043a1a0
call fcn.00439880
call fcn.004397f0
lea rax, [0x00c059a8]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0043a1a0
mov rax, qword [rsp + 0x208]
mov qword [rsp], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 8], rax
call fcn.0043a1a0
lea rax, [0x00c0598c]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0043a1a0
mov rax, qword [rsp + 0xc0]
mov qword [rsp], rax
call fcn.00439fc0
call fcn.00439a90
call fcn.00439880
mov rax, qword [rsp + 0xc8]
lea rcx, [rax + 1]
mov eax, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x320]
jmp 0x45d324
movsxd rbx, eax
cmp rbx, 0x100000
jae 0x45e122
lea rax, [rbx + rbx*4]
shl rax, 2
mov rcx, qword [rsp + 0x258]
movzx eax, byte [rax + rcx + 2]
mov rdx, qword [rsp + 0x238]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x210]
mov qword [rsp + 8], rbx
mov rsi, qword [rsp + 0x2f0]
mov qword [rsp + 0x10], rsi
mov rdi, qword [rsp + 0xc8]
test rdi, rdi
sete byte [rsp + 0x18]
mov byte [rsp + 0x19], al
movzx eax, byte [rsp + 0x3b]
mov byte [rsp + 0x1a], al
call fcn.0045f3e0
movzx ecx, byte [rsp + 0x20]
mov eax, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x320]
jmp 0x45d318
movzx eax, byte [rsp + 0x3b]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xc8]
jmp 0x45cd23
dec r15
jmp 0x45ccee
mov r9, qword [rsp + 0x320]
bt r9d, 1
jb 0x45d567
movzx r9d, byte [rsp + 0x3d]
jmp 0x45ccdf
movzx r9d, byte [rsp + 0x3d]
jmp 0x45ccee
mov r9, qword [rsp + 0x280]
test rdx, rdx
jne 0x45d84e
mov r15, qword [rsp + 0x320]
bt r15d, 1
jae 0x45d82c
lea rdi, [r9 + 1]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], r9
mov qword [rsp], r12
mov qword [rsp + 8], r13
mov byte [rsp + 0x10], 4
call fcn.00455450
mov rax, qword [rsp + 0x18]
test rax, rax
jne 0x45d6a1
movzx eax, byte [rsp + 0x3b]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x2f8]
mov rsi, qword [rsp + 0x238]
cmp byte [rsi + 0x24], 0x16
jne 0x45d5f2
cmp al, 0x12
jne 0x45d689
test rbx, rbx
jle 0x45d64e
lea rax, [rbx - 1]
movzx r10d, byte [rsi + 0x24]
lea rdx, [rcx - 1]
mov rcx, qword [rsp + 0x300]
mov rsi, qword [rsp + 0x260]
movzx edi, byte [rsp + 0x3a]
mov r8, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x60]
mov r12, qword [rsp + 0x238]
mov r13, qword [rsp + 0x210]
mov r14, qword [rsp + 0x228]
mov rbx, rax
mov rax, qword [rsp + 0x310]
jmp 0x45cb97
mov rdi, qword [rsp + 0x308]
cmp rcx, rdi
jge 0x45d67f
cmp rcx, 0x100000
jae 0x45e12f
mov rax, qword [rsp + 0x300]
mov qword [rax + rcx*8], rdx
inc rcx
mov rax, rbx
jmp 0x45d5fb
mov rax, qword [rsp + 0x300]
jmp 0x45d677
cmp al, 9
je 0x45d5f2
cmp al, 0x13
je 0x45d5f2
mov rax, rbx
jmp 0x45d5fb
mov qword [rsp + 0x258], rax
mov rcx, qword [rsp + 0x50]
movzx edx, byte [rsp + 0x3b]
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x2f8]
jmp 0x45d6ef
mov r8, qword [rsp + 0x270]
movzx edx, byte [rdx + rsi + 2]
mov r9d, dword [rsi + rbx*4 + 0x10]
movsxd r9, r9d
add r9, qword [r8]
lea r8, [r9 + 1]
mov rbx, rcx
mov rsi, r8
mov rdi, rax
mov rcx, r9
mov qword [rsp + 0x2f8], rdi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0xd0], rbx
mov byte [rsp + 0x3c], dl
mov rax, qword [rsp + 0x238]
mov qword [rsp], rax
mov r8, qword [rsp + 0x210]
mov qword [rsp + 8], r8
mov dword [rsp + 0x10], 2
mov qword [rsp + 0x18], rcx
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x20], rcx
call fcn.004552f0
mov eax, dword [rsp + 0x28]
test eax, eax
jl 0x45d80d
movsxd rax, eax
cmp rax, 0x100000
jae 0x45e146
lea rdx, [rax + rax*4]
mov rbx, rdx
shl rdx, 2
mov rsi, qword [rsp + 0x258]
movzx edi, byte [rdx + rsi + 2]
cmp dil, 0x16
jne 0x45d784
movzx edi, byte [rsp + 0x3c]
cmp dil, 0x12
jne 0x45d7ec
mov rdi, qword [rsp + 0x2f8]
test rdi, rdi
jle 0x45d7a2
lea rax, [rdi - 1]
mov rcx, qword [rsp + 0xd0]
jmp 0x45d6c7
mov rax, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x308]
cmp rax, r8
jge 0x45d7e2
cmp rax, 0x100000
jae 0x45e13c
mov rcx, qword [rsp + 0x58]
mov r9, qword [rsp + 0x300]
mov qword [r9 + rax*8], rcx
inc rax
mov rcx, rax
mov rax, rdi
jmp 0x45d6c7
mov r9, qword [rsp + 0x300]
jmp 0x45d7d7
cmp dil, 9
je 0x45d784
cmp dil, 0x13
je 0x45d784
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x2f8]
jmp 0x45d6c7
movzx eax, byte [rsp + 0x3c]
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x2f8]
jmp 0x45d5dc
test dil, dil
jne 0x45d596
cmp qword [r12], r9
je 0x45d596
lea r15, [r9 - 1]
mov rdi, r9
mov r9, r15
jmp 0x45d59a
test dil, dil
mov r15, qword [rsp + 0x320]
jmp 0x45d82f
lea rcx, [rsp + 0x270]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x318]
mov qword [rsp + 8], rcx
mov rbx, qword [rax]
mov rdx, rax
call rbx
cmp byte [rsp + 0x10], 0
je 0x45d8e0
mov rcx, qword [rsp + 0x300]
test rcx, rcx
mov rax, qword [rsp + 0x310]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x2f8]
mov rsi, qword [rsp + 0x260]
movzx edi, byte [rsp + 0x3a]
mov r8, qword [rsp + 0xa0]
movzx r10d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x60]
mov r12, qword [rsp + 0x238]
mov r13, qword [rsp + 0x210]
mov r14, qword [rsp + 0x228]
jmp 0x45cb91
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x328], rax
mov rbp, qword [rsp + 0x2c8]
add rsp, 0x2d0
ret
mov qword [rsp + 0x288], 0
test rax, rax
jmp 0x45cb80
test rax, rax
jmp 0x45cb80
lea rcx, [rsp + 0x270]
mov qword [rsp], rcx
mov qword [rsp + 8], r12
mov qword [rsp + 0x10], r13
test rax, rax
setne cl
mov byte [rsp + 0x18], cl
mov qword [rsp + 0x20], r9
call fcn.0045e1c0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x2b8], rax
mov qword [rsp + 0x2c0], rcx
mov rax, qword [rsp + 0x310]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x2f8]
mov rsi, qword [rsp + 0x260]
movzx edi, byte [rsp + 0x3a]
mov r8, qword [rsp + 0xa0]
movzx r10d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x60]
mov r12, qword [rsp + 0x238]
mov r13, qword [rsp + 0x210]
mov r14, qword [rsp + 0x228]
jmp 0x45cb3c
xor ecx, ecx
jmp 0x45cb1b
movzx ecx, byte [rsp + 0x3d]
test cl, cl
je 0x45cb3c
test rax, rax
jmp 0x45caf9
cmp r15b, 6
je 0x45ca8b
cmp r15b, 4
je 0x45ca8b
cmp r15b, 5
je 0x45ca8b
cmp r15b, 7
je 0x45ca8b
cmp r15b, 0x10
je 0x45ca8b
test r14b, r14b
je 0x45da0c
cmp r15b, 8
je 0x45ca8b
cmp qword [rsp + 0x290], 0
jne 0x45dc65
mov r14, qword [rsp + 0x2a0]
add r14, 0xfffffffffffffff8
mov r15, r14
mov r14, qword [r14]
mov qword [rsp + 0x290], r14
mov qword [rsp + 0x80], r15
mov rax, qword [rsp + 0x290]
mov qword [rsp], rax
call fcn.00454540
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
test rcx, rcx
je 0x45dabd
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x2f8]
mov rsi, qword [rsp + 0x260]
movzx edi, byte [rsp + 0x3a]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x240]
movzx r10d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x60]
mov r12, qword [rsp + 0x238]
mov r13, qword [rsp + 0x210]
mov r14, rcx
mov r15, rax
mov rax, qword [rsp + 0x308]
mov rcx, qword [rsp + 0x2f0]
jmp 0x45ca9d
movzx ebx, byte [rsp + 0x3d]
test bl, bl
je 0x45dc53
mov rsi, qword [rsp + 0x2f0]
mov rdi, qword [rsi + 0x30]
cmp byte [rdi + 0xe8], 0
je 0x45dc49
mov rdi, qword [rsp + 0x238]
cmp byte [rdi + 0x24], 9
jne 0x45dc42
xor edx, edx
mov qword [rsp + 0x1f0], rax
mov qword [rsp + 0x1f8], rcx
mov r8, qword [rsp + 0x310]
test r8, r8
jne 0x45db26
test dl, dl
jne 0x45db26
test r8, r8
je 0x45da5d
jmp 0x45e150
mov qword [rsp], rdi
mov rax, qword [rsp + 0x210]
mov qword [rsp + 8], rax
call fcn.00454cb0
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0xd0], rax
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x250], rcx
mov rdx, qword [rsp + 0x290]
mov qword [rsp + 0xb8], rdx
call fcn.004397f0
lea rax, [0x00c21ba6]
mov qword [rsp], rax
mov qword [rsp + 8], 0x22
call fcn.0043a1a0
mov rax, qword [rsp + 0x250]
mov qword [rsp], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 8], rax
call fcn.0043a1a0
lea rax, [0x00c0dffc]
mov qword [rsp], rax
mov qword [rsp + 8], 0xd
call fcn.0043a1a0
mov rax, qword [rsp + 0xb8]
mov qword [rsp], rax
call fcn.0043a030
call fcn.00439a90
call fcn.00439880
mov rax, qword [rsp + 0x2f0]
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
lea rcx, [rsp + 0x270]
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x18], rcx
call fcn.0045fc20
mov r8, qword [rsp + 0x310]
test r8, r8
mov rax, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1f8]
movzx ebx, byte [rsp + 0x3d]
mov rsi, qword [rsp + 0x2f0]
mov rdi, qword [rsp + 0x238]
jmp 0x45db1b
mov edx, ebx
jmp 0x45daf7
mov rdi, qword [rsp + 0x238]
jmp 0x45dc42
mov rsi, qword [rsp + 0x2f0]
mov rdi, qword [rsp + 0x238]
jmp 0x45dc42
xor r15d, r15d
jmp 0x45da35
xor r14d, r14d
jmp 0x45ca5b
mov r14, qword [rsp + 0x320]
bt r14d, 2
jae 0x45dcd4
mov r15, qword [rcx + 0x30]
cmp qword [r15], rcx
jne 0x45dcd4
mov r15, qword [r15 + 0x90]
test r15, r15
je 0x45dcd4
movzx r14d, byte [r12 + 0x24]
cmp r14b, 5
je 0x45dd97
cmp r14b, 0xd
jne 0x45dcd4
mov rsi, qword [r15 + 0x38]
mov qword [rsp + 0x298], rsi
mov rsi, qword [rcx + 0x30]
mov rsi, qword [rsi + 0x90]
mov r8, qword [rsi + 0x148]
mov rsi, qword [rsi + 0x140]
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x260], rsi
mov qword [rsp + 0x218], r13
mov qword [rsp + 0x230], r12
mov qword [rsp], r12
mov qword [rsp + 8], r13
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x10], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x18], rax
call fcn.00455070
movsxd rax, dword [rsp + 0x20]
add rax, qword [rsp + 0x298]
mov qword [rsp + 0x2a0], rax
add rax, 8
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x308]
mov rcx, qword [rsp + 0x2f0]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x2f8]
movzx edi, byte [rsp + 0x3a]
mov r9, qword [rsp + 0x240]
movzx r10d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x60]
mov r13, qword [rsp + 0x218]
mov r12, qword [rsp + 0x230]
mov r8, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x260]
jmp 0x45ca47
mov rax, qword [r15 + 0x40]
mov qword [rsp + 0x280], rax
mov qword [rsp], rax
call fcn.00454540
mov r12, qword [rsp + 8]
mov r13, qword [rsp + 0x10]
mov qword [rsp + 0x270], r12
mov qword [rsp + 0x278], r13
mov rcx, qword [rsp + 0x2f0]
mov rax, qword [rcx + 0x30]
mov rax, qword [rax + 0x90]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x298], rax
mov rax, qword [rcx + 0x30]
mov rax, qword [rax + 0x90]
mov r8, qword [rax + 0x148]
mov rsi, qword [rax + 0x140]
mov rax, qword [rsp + 0x308]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x2f8]
movzx edi, byte [rsp + 0x3a]
mov r9, qword [rsp + 0x240]
movzx r10d, byte [rsp + 0x3b]
mov r11, qword [rsp + 0x60]
jmp 0x45dcd4
mov rax, qword [rsp + 0x310]
movzx r9d, byte [rsp + 0x3d]
mov rdi, rdx
jmp 0x45cbe4
mov rax, qword [rsp + 0x310]
movzx r9d, byte [rsp + 0x3d]
mov rdi, rdx
jmp 0x45cbe4
mov rax, qword [rsp + 0x310]
test rax, rax
je 0x45df16
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0xb8], rax
call fcn.004397f0
lea rax, [0x00c15255]
mov qword [rsp], rax
mov qword [rsp + 8], 0x14
call fcn.0043a1a0
mov rax, qword [rsp + 0xb8]
mov qword [rsp], rax
call fcn.0043a030
call fcn.00439a90
call fcn.00439880
mov rax, qword [rsp + 0x2f0]
mov rcx, qword [rax + 8]
mov rax, qword [rax]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
lea rax, [rsp + 0x270]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 0
call fcn.0045fc20
mov rax, qword [rsp + 0x310]
test rax, rax
jne 0x45e169
mov qword [rsp + 0x328], 0
mov rbp, qword [rsp + 0x2c8]
add rsp, 0x2d0
ret
movzx ecx, byte [rsp + 0x3d]
test cl, cl
jne 0x45de6d
test rax, rax
jmp 0x45def4
test rcx, rcx
sete dil
jmp 0x45c89b
mov r8, qword [rbx + 0x40]
mov rdx, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x50]
jmp 0x45c839
mov r8, rdx
mov rdx, qword [rsp + 0x2e0]
xor edi, edi
jmp 0x45c839
mov r8, qword [rsp + 0x2e0]
jmp 0x45df45
mov rcx, qword [rsp + 0x310]
jmp 0x45c7bb
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0x78], rdi
mov rax, qword [rdx + 0x98]
mov qword [rsp + 0xc0], rax
call fcn.004397f0
lea rax, [0x00c0c4db]
mov qword [rsp], rax
mov qword [rsp + 8], 0xa
call fcn.0043a1a0
mov rax, qword [rsp + 0xc0]
mov qword [rsp], rax
call fcn.00439fc0
lea rax, [0x00c0c77c]
mov qword [rsp], rax
mov qword [rsp + 8], 0xb
call fcn.0043a1a0
mov rax, qword [rsp + 0xb8]
mov qword [rsp], rax
call fcn.0043a030
lea rax, [0x00c0718d]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call fcn.0043a1a0
mov rax, qword [rsp + 0xb0]
mov qword [rsp], rax
call fcn.0043a030
call fcn.00439a90
call fcn.00439880
mov rax, qword [rsp + 0x2f0]
mov rcx, qword [rax]
mov qword [rsp + 0xb8], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0xb0], rax
call fcn.004397f0
lea rax, [0x00c0a79b]
mov qword [rsp], rax
mov qword [rsp + 8], 8
call fcn.0043a1a0
mov rax, qword [rsp + 0xb8]
mov qword [rsp], rax
call fcn.0043a030
lea rax, [0x00c05984]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0043a1a0
mov rax, qword [rsp + 0xb0]
mov qword [rsp], rax
call fcn.0043a030
lea rax, [0x00c06cf5]
mov qword [rsp], rax
mov qword [rsp + 8], 4
call fcn.0043a1a0
mov rax, qword [rsp + 0x78]
mov qword [rsp], rax
call fcn.00439fc0
lea rax, [0x00c07179]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call fcn.0043a1a0
mov rax, qword [rsp + 0x308]
mov qword [rsp], rax
call fcn.00439fc0
call fcn.00439a90
call fcn.00439880
lea rax, [0x00c22ab7]
mov qword [rsp], rax
mov qword [rsp + 8], 0x23
call fcn.004380f0
mov ecx, 0x100000
call fcn.00469800
mov rax, rbx
mov ecx, 0x100000
call fcn.00469800
mov rax, rbx
mov ecx, 0x100000
call fcn.00469800
mov rax, rcx
mov ecx, 0x100000
call fcn.00469800
mov ecx, 0x100000
call fcn.00469800
mov ecx, 0x100000
call fcn.00469800
lea rax, [0x00c123cf]
mov qword [rsp], rax
mov qword [rsp + 8], 0x11
call fcn.004380f0
lea rax, [0x00c0c5a3]
mov qword [rsp], rax
mov qword [rsp + 8], 0xa
call fcn.004380f0
lea rax, [0x00c2fe34]
mov qword [rsp], rax
mov qword [rsp + 8], 0x39
call fcn.004380f0
lea rax, [0x00c2f18c]
mov qword [rsp], rax
mov qword [rsp + 8], 0x37
call fcn.004380f0
nop
call fcn.00466e10
jmp fcn.0045c760