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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x15c]
cmp eax, dword [ecx + 8]
jbe 0x452086
sub esp, 0x1dc
mov eax, dword [esp + 0x1f0]
test eax, eax
jle 0x451e6a
mov ecx, dword [esp + 0x1fc]
test ecx, ecx
jne 0x45206f
mov edx, dword fs:[0x14]
mov edx, dword [edx]
mov ebx, dword [esp + 0x1ec]
cmp ebx, edx
jne 0x450a85
mov ebp, dword [edx + 0x18]
cmp dword [ebp + 0x4c], edx
je 0x452059
call fcn.00441a50
mov eax, dword [esp]
cmp eax, 2
mov ecx, dword [esp + 0x1e0]
cmp ecx, 0xffffffff
jne 0x451e61
mov edx, dword [esp + 0x1e4]
cmp edx, 0xffffffff
jne 0x451e4c
mov ecx, dword [esp + 0x1ec]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x451e3e
mov ebx, dword [ecx + 0x3c]
xor ebp, ebp
mov dword [esp + 0x78], eax
lea edi, [esp + 0x1b0]
mov esi, eax
xor eax, eax
call fcn.0045f715
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1c4], edx
mov ecx, dword [esp + 0x1ec]
mov edi, esi
mov esi, dword [ecx + 0xb8]
mov ecx, dword [ecx + 0xbc]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x1f4]
test ecx, ecx
je 0x451e1b
xor eax, eax
mov byte [esp + 0x1f], al
xor eax, eax
mov dword [esp + 0x194], esi
mov dword [esp + 0x190], ebp
test ebx, ebx
jne 0x450b40
mov ebx, edx
mov edx, dword [edx]
mov dword [esp + 0x1b8], edx
lea edx, [ebx + 4]
mov dword [esp + 0x1c4], edx
mov eax, dword [esp + 0x1b8]
mov dword [esp], eax
call fcn.0044b3c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
je 0x451d6b
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], ecx
lea edi, [esp + 0xa4]
xor eax, eax
call fcn.0045f6f0
mov ecx, dword [esp + 0x1f8]
mov ebx, dword [esp + 0x1ec]
mov edx, dword [esp + 0x1f0]
mov esi, dword [esp + 0x194]
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x190]
xor eax, eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov byte [esp + 0x1c], al
xor eax, eax
mov byte [esp + 0x1d], al
xor eax, eax
mov dword [esp + 0x2c], eax
xor eax, eax
jmp 0x450c37
mov dword [esp + 0x1b0], ebx
mov ebx, dword [esp + 0x170]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [esp + 0x1c0]
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1c0], 0
mov ebx, dword [esp + 0x1c8]
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1d8], 0
xchg esi, eax
cmp al, 9
xchg esi, eax
sete bl
mov esi, dword [esp + 0x1ec]
mov byte [esp + 0x1c], bl
mov esi, dword [esp + 0x194]
mov dword [esp + 0x2c], edi
mov ebx, dword [esp + 0x1ec]
xor edi, edi
mov ebx, dword [esp + 0x3c]
cmp ecx, ebx
jle 0x451d60
mov dword [esp + 0x5c], ebp
mov ebx, dword [esp + 0x1b0]
mov dword [esp + 0x1ac], ebx
mov ebp, dword [esp + 0x1b4]
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x451d53
mov dword [esp + 0x1f0], edx
mov dword [esp + 0x190], edi
mov ebx, dword [esp + 0x1c8]
test ebx, ebx
je 0x451be3
mov ebx, dword [esp + 0x1ac]
mov dword [esp + 0x194], esi
mov dword [esp + 0x180], ebp
mov ebp, dword [esp + 0x1ec]
mov esi, dword [ebp + 0x18]
test esi, esi
je 0x451bdc
cmp dword [esi], ebp
xchg esi, ebx
sete bl
xchg esi, ebx
mov dword [esp + 0x18c], ebx
movzx ebp, byte [ebx + 0x24]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x4519aa
mov dword [esp + 0x1c0], 0
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x170], esi
mov dword [esp + 0x188], ebp
mov esi, dword [esp + 0x1c8]
mov dword [esp + 0x1cc], esi
add esi, 0xfffffffc
mov dword [esp + 0x1cc], esi
mov esi, dword [esp + 0x1fc]
test esi, esi
je 0x45198d
mov ebp, dword [esp + 0x1c8]
mov dword [esp + 0x1d0], ebp
je 0x451986
cmp dword [ebx + 8], 0x80000000
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov ebx, dword [ebx + 8]
mov dword [esp + 0x1d4], ebx
mov dword [esp + 0x1d8], 0
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x451922
mov ebx, dword [esp + 0x1b8]
mov dword [esp + 0x1bc], ebx
movzx ebx, byte [esp + 0x1c]
test bl, bl
je 0x451919
mov ebp, dword [esp + 0x1b0]
mov edi, ebx
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x451907
mov ebp, dword [ebp]
lea ebx, [ebx + ebp + 1]
mov dword [esp + 0x1bc], ebx
test esi, esi
jne 0x4518a4
mov ebx, dword [esp + 0x1f4]
test ebx, ebx
je 0x45188f
mov ebp, dword [esp + 0x1b8]
mov esi, dword [esp + 0x3c]
test esi, esi
jne 0x451882
mov ebx, dword [esp + 0x204]
test ebx, 2
je 0x451853
lea ebx, [ebp + 1]
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x18c]
cmp byte [ebp + 0x27], 3
ja 0x451834
xor eax, eax
mov dword [esp + 0x1a8], eax
xor eax, eax
mov ebp, dword [esp + 0x1a8]
test ebp, ebp
jne 0x4516f1
movzx ebp, byte [esp + 0x1d]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x18c]
cmp byte [ebx + 0x24], 0x16
jne 0x450e1c
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
jne 0x4516d6
test edx, edx
jle 0x4516a2
dec edx
movzx ebp, byte [ebx + 0x24]
dec esi
mov dword [esp + 0x1f0], edx
mov dword [esp + 0x3c], esi
movzx ebx, byte [esp + 0x1f]
test bl, bl
je 0x45168b
mov ebx, dword [esp + 0x1b8]
test esi, esi
jle 0x451667
mov esi, dword [esp + 0x18c]
cmp dword [esi], ebx
jae 0x450e66
xchg edi, eax
test al, al
xchg edi, eax
je 0x451661
cmp byte [esi + 0x27], 3
ja 0x451649
xor edi, edi
test edi, edi
jne 0x4513e7
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x204]
test ebx, 1
je 0x451386
mov ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x450fc7
movzx ebp, byte [esi + 0x24]
xchg ebp, eax
mov byte [esp + 0x1d], al
xchg ebp, eax
mov ebx, dword [esp + 0x3c]
inc ebx
cmp byte [esi + 0x24], 0xe
jne 0x450fc1
mov ebp, dword [esp + 0x5c]
test ebp, ebp
jle 0x450fb5
mov esi, dword [esp + 0x194]
mov esi, dword [esi + ebp*4 - 4]
test edx, edx
jne 0x450fa9
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x1fc]
test esi, esi
je 0x450f55
dec ebp
mov dword [esp + 0x3c], ebx
mov esi, dword [esp + 0x18c]
movzx esi, byte [esi + 0x24]
mov ebx, dword [esp + 0x188]
test ebx, ebx
jne 0x450bbe
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0x1f]
test dl, dl
je 0x450f51
mov eax, dword [esp + 0x1fc]
test eax, eax
je 0x450f43
cmp ecx, edi
jle 0x450f43
mov eax, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1ec]
mov ebx, dword [edx + 0x40]
cmp eax, ebx
jne 0x451e76
mov dword [esp + 0x208], edi
add esp, 0x1dc
ret
mov edi, eax
jmp 0x450f1b
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x1f4]
mov dword [esp], eax
movzx edx, byte [esp + 0x1f]
mov byte [esp + 4], dl
mov ebp, dword [esp + 0x58]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00452210
mov ebx, dword [esp + 0x14]
xor eax, eax
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f0]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x1fc]
mov edi, dword [esp + 0x74]
jmp 0x450eef
mov esi, dword [esp + 0x1fc]
jmp 0x450eef
mov esi, dword [esp + 0x1fc]
jmp 0x450ef0
mov ebp, dword [esp + 0x5c]
jmp 0x450fb5
mov dword [esp], esi
mov eax, dword [esp + 0x180]
mov dword [esp + 4], eax
call fcn.0044ba20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x16c], ecx
mov edx, dword [esp + 0x18c]
mov dword [esp], edx
mov ebx, dword [esp + 0x180]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 8], ebx
call fcn.0044bdc0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x178], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x38]
cmp ebx, 0xf
je 0x451340
mov ebp, dword [esp + 0x16c]
mov dword [esp + 0x168], ebp
mov dword [esp + 0x34], ebx
call fcn.00434860
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.00435160
lea eax, [0x767496]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00435160
call fcn.004348d0
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x1a8], eax
xor ecx, ecx
jmp 0x4510c7
test byte [eax], al
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x70], edx
call fcn.00434860
mov dword [esp + 4], 0
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.00434ff0
call fcn.004348d0
mov eax, dword [esp + 0x4c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1d4]
shr edx, 2
cmp ecx, edx
jae 0x45112f
cmp ecx, 0xa
jae 0x45110f
mov dword [esp + 0x4c], ecx
test ecx, ecx
je 0x451092
call fcn.00434860
lea eax, [0x7674e1]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.00435160
call fcn.004348d0
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x4c]
jmp 0x451092
call fcn.00434860
lea eax, [0x767b7e]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00435160
call fcn.004348d0
call fcn.00434860
lea eax, [0x7674d9]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.00435160
call fcn.004348d0
call fcn.00434860
lea eax, [0x78ac5c]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00435160
mov eax, dword [esp + 0x178]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.00435160
lea eax, [0x7674a0]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00435160
mov eax, dword [esp + 0x48]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00434f70
call fcn.004348d0
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x18c]
mov edx, dword [ecx]
cmp eax, edx
ja 0x4512f2
mov eax, dword [esp + 0x1ec]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x4512e9
mov ebx, dword [edx + 0x6c]
test ebx, ebx
jle 0x4512e0
cmp dword [edx + 0x4c], eax
jne 0x4512d1
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x1b8]
mov dword [esp + 0x68], edx
call fcn.00434860
lea eax, [0x7677fd]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00435160
mov dword [esp + 4], 0
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.00434ff0
lea eax, [0x76781d]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00435160
mov dword [esp + 4], 0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.00434ff0
lea eax, [0x767815]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00435160
mov dword [esp + 4], 0
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.00434ff0
call fcn.004348d0
call fcn.00434860
call fcn.00434a80
call fcn.004348d0
mov eax, dword [esp + 0x2c]
lea edi, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f0]
mov ebx, dword [esp + 0x204]
mov esi, dword [esp + 0x18c]
jmp 0x450ea8
mov edx, dword [esp + 0x78]
cmp edx, 2
jge 0x4511ef
jmp 0x451298
mov edx, dword [esp + 0x78]
cmp edx, 2
jmp 0x4512d8
mov edx, dword [esp + 0x78]
cmp edx, 2
jmp 0x4512d8
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], edx
call fcn.00434860
lea eax, [0x7674b7]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.00435160
mov dword [esp + 4], 0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
sub eax, ecx
mov dword [esp], eax
call fcn.00434ff0
call fcn.004348d0
mov ecx, dword [esp + 0x18c]
jmp 0x4511c9
mov eax, dword [esp + 0x16c]
mov dword [esp], eax
lea ecx, [0x76bc04]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00402b30
movzx eax, byte [esp + 0xc]
test al, al
je 0x451376
mov ebx, 5
lea ebp, [0x767d86]
jmp 0x45103e
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x16c]
jmp 0x45103e
movzx eax, byte [esi + 0x24]
mov dword [esp], esi
mov ecx, dword [esp + 0x180]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1ec]
mov dword [esp + 8], edx
test edi, edi
sete bl
mov byte [esp + 0xc], bl
mov byte [esp + 0xd], al
xchg ebp, eax
mov byte [esp + 0xe], al
xchg ebp, eax
call fcn.00452f90
movzx ebp, byte [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f0]
mov ebx, dword [esp + 0x204]
mov esi, dword [esp + 0x18c]
mov edi, dword [esp + 0x2c]
jmp 0x450e9e
mov dword [esp + 0x1a8], edi
lea edi, [esp + 0x7c]
call fcn.0045f716
mov ecx, dword [esp + 0x2c]
jmp 0x451427
mov eax, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1a4]
movzx ebp, byte [edx + 2]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x1a8]
mov ebx, dword [edi + edx*4 + 0x10]
add ebx, dword [eax]
mov esi, dword [esp + 0x18c]
mov dword [esp + 0x2c], ecx
xchg ebp, eax
mov byte [esp + 0x1d], al
xchg ebp, eax
mov dword [esp + 0x20], ebx
mov dword [esp], esi
mov eax, dword [esp + 0x180]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 0
call fcn.0044c050
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x451620
cmp eax, 0x100000
jae 0x452003
lea eax, [eax + eax*4]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x1a8]
mov edx, dword [ecx + eax*4 + 0xc]
mov dword [esp + 0x80], edx
lea edx, [ecx + eax*4 + 2]
movzx edx, byte [edx]
mov byte [esp + 0xa0], dl
lea ebx, [ecx + eax*4]
mov dword [esp + 0x1a4], ebx
mov ebp, dword [esp + 0x204]
test ebp, 1
je 0x4515c8
lea eax, [esp + 0x7c]
mov dword [esp], eax
mov ecx, dword [esp + 0x180]
mov dword [esp + 4], ecx
call fcn.0044ba20
mov eax, dword [esp + 8]
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x18c]
mov dword [esp], edx
mov ebx, dword [esp + 0x180]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x20]
mov dword [esp + 8], ebp
call fcn.0044bdc0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x174], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x50], edx
call fcn.00434860
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call fcn.00435160
lea eax, str._...__n__i____not___val_._GNCP390625:29900:https__chan__a_._nAcceptAnswerArabicAugustBasic_BrahmiCANCELCLOSEDCarianChakmaClientClosedCommonCookieCopticDELETEEnvVarExpectFormatFridayGOAWAYGOROOTGetACPGothicHangulHatranHebrewHiddenHyphenInErrsInPktsInSegsKaithiKhojkiLISTENLepchaLockedLycianLydianMMXEXTMondayPADDEDPOPCNTPragmaRDRANDRDSEEDRDTSCPRejangSCHED_SSE4.1SSE4.2STREETSee__sServerStringSundaySyriacTai_LeTangutTeluguThaanaTypeMXTypeNSUTC12UTC13UTC_02UTC_08UTC_09UTC_11WanchoX25519Yezidi__byteu_04Xufffd_n_____tacceptactivechan__closedcookiedefinedomainefenceexec:_expectgopherhangupheaderipnetkcp_gokcptunkilledlistenmethodminutenocompnumberobjectpopcntpprof:printfquiet:rcvwndreadatremoveresendsNaPpYschemesecondselectsendtoserversndwndsocketsocks5stringstructsweep_sysmontargettelnettimersuint16uint32uint64unused__v_v___conn___scan___scan__MB_in__Value__action_allocs_dying_flags_len_d_locks_m__g0_nmsys_snil_n_using__zombie_03d__s_s__s_n_n__goid__j0__19531252.5.4.32.5.4.52.5.4.62.5.4.72.5.4.82.5.4.99765625:method:scheme:statusAVX512FAvestanBengaliBrailleCLOSINGChanDirConvertCopySidCreatedCypriotDeseretEd25519ElbasanElymaicExpiresFECErrsFreeSidGODEBUGGranthaHEADERSHanunooIM_UsedIO_waitInBytesJanuaryKannadaMD2_RSAMD5_RSAMUI_DltMUI_StdMakasarMandaicMarchenMaxConnMultaniMyanmarOctoberOsmanyaOutPktsOutSegsPATHEXTRadicalRefererSHA_224SHA_256SHA_384SHA_512SharadaShavianSiddhamSinhalaSleepExSogdianSoyomboSubjectSwapperTagalogTibetanTirhutaTrailerTuesdayTypeALLTypeOPTTypePTRTypeSOATypeSRVTypeTXTTypeWKSUNKNOWNUpgradeUsage:_nWSARecvWSASend_ttypes__tvalueabortedaes_192bdoUxXvbooleancharsetchunkedcommandcomplexconnectconsolecpuprofderivedexpiresfields.float32float64forcegcgctracehead__help__hhttp:__integerinvalidlocalidlookup_nil_keynodelaynosniffnumber_operandpanic:_pdh.dllprintlnrcvwnd:readdirrefererrefreshrunningserial:signal_smuxbufsndwnd:snmplogsockbufsyscalltraileruintptrunknownwaitingwriteatwsarecvwsasendend_bytes___data_q_etypes__goal_incr_v_is_not__mcount_minutes_nalloc_newval_nfreed_ping_q_pointer_stack__status___Month__.10q..._s:_d:_d012345672.5.4.102.5.4.112.5.4.172006010248828125AMD3DNOWAVX512BWAVX512CDAVX512DQAVX512ERAVX512PFAVX512VLAcceptExAcceptedArmenianBalineseBopomofoBugineseCLICOLORCancelIoCherokeeClassANYConflictContinueCurveID_CyrillicDNS_nameDOWNGRD
mov dword [esp], eax
mov dword [esp + 4], 6
call fcn.00435160
call fcn.004348d0
call fcn.00434860
lea eax, [0x78ac5c]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00435160
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
call fcn.00435160
lea eax, [0x7674a0]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00435160
mov eax, dword [esp + 0x44]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00434f70
call fcn.00434a80
call fcn.004348d0
mov eax, dword [esp + 0x2c]
lea ecx, [eax + 1]
jmp 0x4513fd
lea eax, [esp + 0x7c]
mov dword [esp], eax
mov ecx, dword [esp + 0x180]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x1ec]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x2c]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
xchg esi, eax
mov byte [esp + 0xc], al
xchg esi, eax
mov byte [esp + 0xd], dl
movzx edx, byte [esp + 0x1d]
mov byte [esp + 0xe], dl
call fcn.00452f90
movzx eax, byte [esp + 0x10]
test al, al
jne 0x4514b7
mov ecx, dword [esp + 0x2c]
jmp 0x4513fd
xor eax, eax
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f0]
mov esi, dword [esp + 0x18c]
movzx ebp, byte [esp + 0x1d]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
jmp 0x450e7e
lea edi, [esi + 0x27]
mov ecx, dword [esi + 0x1c]
lea ecx, [edi + ecx*4 + 0xd]
mov edi, dword [ecx]
mov ecx, dword [esp + 0x1f8]
jmp 0x450e72
dec ebx
jmp 0x450e66
mov esi, dword [esp + 0x204]
test esi, 2
jne 0x45167f
mov esi, dword [esp + 0x3c]
jmp 0x450e51
mov esi, dword [esp + 0x18c]
jmp 0x450e66
mov ebx, dword [esp + 0x204]
mov esi, dword [esp + 0x18c]
mov edi, dword [esp + 0x2c]
jmp 0x450eac
cmp ecx, esi
jle 0x4516cd
cmp esi, 0x100000
jae 0x45200d
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x1f4]
mov dword [ebx + esi*4], ebp
inc esi
mov ebx, dword [esp + 0x18c]
jmp 0x450e25
mov ebx, dword [esp + 0x1f4]
jmp 0x4516c1
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x450e1c
xchg ebp, eax
cmp al, 0x13
xchg ebp, eax
je 0x450e1c
jmp 0x450e25
movzx eax, byte [esp + 0x1d]
mov byte [esp + 0x1e], al
jmp 0x451720
mov edi, dword [esp + 0x1b0]
mov esi, eax
movzx eax, byte [ebp + 2]
mov ebp, dword [ebx + edx*4 + 0x10]
add ebp, dword [edi]
lea edi, [ebp + 1]
mov dword [esp + 0x24], ebp
mov byte [esp + 0x1e], al
mov ebx, edi
mov edx, esi
mov esi, ecx
mov dword [esp + 0x1f0], edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], esi
mov eax, dword [esp + 0x18c]
mov dword [esp], eax
mov ecx, dword [esp + 0x180]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
mov ebp, dword [esp + 0x24]
mov dword [esp + 0xc], ebp
lea ebp, [esp + 0xa4]
mov dword [esp + 0x10], ebp
call fcn.0044c050
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x45180d
cmp eax, 0x100000
jae 0x452023
lea edx, [eax + eax*4]
mov ebx, dword [esp + 0x1a8]
lea ebp, [ebx + edx*4]
lea esi, [ebx + edx*4 + 2]
cmp byte [esi], 0x16
jne 0x45179d
movzx esi, byte [esp + 0x1e]
xchg esi, eax
cmp al, 0x12
xchg esi, eax
jne 0x4517ef
mov esi, dword [esp + 0x1f0]
test esi, esi
jle 0x4517b4
lea eax, [esi - 1]
mov ecx, dword [esp + 0x3c]
jmp 0x4516fc
mov edi, dword [esp + 0x1f8]
mov eax, dword [esp + 0x3c]
cmp edi, eax
jle 0x4517e6
cmp eax, 0x100000
jae 0x452019
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x1f4]
mov dword [edi + eax*4], ecx
inc eax
mov ecx, eax
mov eax, esi
jmp 0x4516fc
mov edi, dword [esp + 0x1f4]
jmp 0x4517dd
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x45179d
xchg esi, eax
cmp al, 0x13
xchg esi, eax
je 0x45179d
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1f0]
jmp 0x4516fc
xor eax, eax
mov ecx, dword [esp + 0x1f8]
movzx edi, byte [esp + 0x1c]
movzx ebp, byte [esp + 0x1e]
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x1f0]
jmp 0x450e00
lea eax, [ebp + 0x27]
mov edi, dword [ebp + 0x1c]
lea eax, [eax + edi*4 + 0xd]
mov eax, dword [eax]
movzx edi, byte [esp + 0x1c]
mov dword [esp + 0x1a8], eax
xor eax, eax
jmp 0x450dec
xchg edi, eax
test al, al
xchg edi, eax
jne 0x450dc9
mov ebx, dword [esp + 0x18c]
cmp dword [ebx], ebp
jne 0x451874
mov ebx, dword [esp + 0x204]
jmp 0x450dc9
lea eax, [ebp - 1]
mov ebx, ebp
mov ebp, eax
xor eax, eax
jmp 0x450dcc
xchg edi, eax
test al, al
xchg edi, eax
mov ebx, dword [esp + 0x204]
jmp 0x451857
mov ebx, dword [esp + 0x18c]
mov esi, dword [esp + 0x3c]
movzx ebp, byte [esp + 0x1d]
jmp 0x450e2a
mov eax, dword [esi]
lea ecx, [esp + 0x1b0]
mov dword [esp], ecx
mov ebx, dword [esp + 0x200]
mov dword [esp + 4], ebx
mov edx, esi
call eax
movzx eax, byte [esp + 8]
test al, al
je 0x4518f5
mov ebx, dword [esp + 0x1f4]
test ebx, ebx
mov eax, 0
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f0]
mov esi, dword [esp + 0x1fc]
movzx edi, byte [esp + 0x1c]
jmp 0x450d9d
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x208], eax
add esp, 0x1dc
ret
mov dword [esp + 0x1bc], 0
test esi, esi
jmp 0x450d8e
test esi, esi
mov edi, ebx
jmp 0x450d8e
lea eax, [esp + 0x1b0]
mov dword [esp], eax
mov ecx, dword [esp + 0x18c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x180]
mov dword [esp + 8], edx
test esi, esi
setne bl
mov byte [esp + 0xc], bl
mov dword [esp + 0x10], edi
call fcn.00452090
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], ecx
xor eax, eax
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f0]
mov esi, dword [esp + 0x1fc]
jmp 0x450d4f
xor ebp, ebp
jmp 0x450d30
movzx ebp, byte [esp + 0x1f]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x450d4f
test esi, esi
mov ebp, dword [esp + 0x188]
jmp 0x450d0e
xchg ebp, eax
cmp al, 6
xchg ebp, eax
je 0x450cca
xchg ebp, eax
cmp al, 4
xchg ebp, eax
je 0x450cca
xchg ebp, eax
cmp al, 5
xchg ebp, eax
je 0x450cca
xchg ebp, eax
cmp al, 7
xchg ebp, eax
je 0x450cca
xchg ebp, eax
cmp al, 0x10
xchg ebp, eax
je 0x450cca
xchg esi, eax
test al, al
xchg esi, eax
je 0x4519f2
xchg ebp, eax
cmp al, 8
xchg ebp, eax
je 0x450cca
mov ebp, dword [esp + 0x1c0]
test ebp, ebp
jne 0x451bd5
mov ebp, dword [esp + 0x1c8]
add ebp, 0xfffffffc
mov esi, ebp
mov ebp, dword [ebp]
mov dword [esp + 0x1c0], ebp
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
call fcn.0044b3c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x451a5d
mov edx, dword [esp + 0x1f0]
mov ebx, dword [esp + 0x18c]
mov edi, dword [esp + 0x190]
mov ebp, ecx
mov esi, eax
xor eax, eax
mov ecx, dword [esp + 0x1f8]
jmp 0x450cd9
movzx ebx, byte [esp + 0x1f]
test bl, bl
je 0x451bc5
mov ebp, dword [esp + 0x1ec]
mov esi, dword [ebp + 0x18]
movzx esi, byte [esi + 0x88]
xchg esi, eax
test al, al
xchg esi, eax
je 0x451bbc
mov esi, dword [esp + 0x18c]
cmp byte [esi + 0x24], 9
jne 0x451bb5
xor edx, edx
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x19c], eax
mov edi, ebp
mov ebp, dword [esp + 0x1fc]
test ebp, ebp
jne 0x451ac4
test dl, dl
jne 0x451ac4
test ebp, ebp
je 0x451a36
jmp 0x45202d
mov dword [esp], esi
mov eax, dword [esp + 0x180]
mov dword [esp + 4], eax
call fcn.0044ba20
mov eax, dword [esp + 8]
mov dword [esp + 0x198], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x1c0]
mov dword [esp + 0x70], edx
call fcn.00434860
lea eax, [0x776e2b]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.00435160
mov eax, dword [esp + 0x198]
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
call fcn.00435160
lea eax, [0x76a762]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.00435160
mov dword [esp + 4], 0
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.00434ff0
call fcn.00434a80
call fcn.004348d0
mov eax, dword [esp + 0x1ec]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xc], edx
call fcn.004536e0
mov ebp, dword [esp + 0x1fc]
test ebp, ebp
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
movzx ebx, byte [esp + 0x1f]
mov esi, dword [esp + 0x18c]
mov edi, dword [esp + 0x1ec]
jmp 0x451ab9
mov edx, ebx
jmp 0x451a98
mov esi, dword [esp + 0x18c]
jmp 0x451bb5
mov ebp, dword [esp + 0x1ec]
mov esi, dword [esp + 0x18c]
jmp 0x451bb5
xor esi, esi
jmp 0x451a17
xor esi, esi
jmp 0x450cb4
mov ebx, dword [esp + 0x204]
test ebx, 4
je 0x451d4a
mov eax, dword [esp + 0x1ec]
mov ecx, dword [eax + 0x18]
cmp dword [ecx], eax
jne 0x451d3a
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x451d3a
mov edi, dword [esp + 0x1ac]
movzx ebx, byte [edi + 0x24]
cmp bl, 5
je 0x451cdd
cmp bl, 0xd
jne 0x451cd4
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x1c4], ecx
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x4c]
mov esi, dword [ecx + 0xb8]
mov ecx, dword [ecx + 0xbc]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x194], esi
mov dword [esp + 0x17c], ebp
mov dword [esp + 0x184], edi
mov eax, dword [esp + 0x1b8]
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0xc], eax
call fcn.0044be20
mov eax, dword [esp + 0x1c4]
add eax, dword [esp + 0x10]
mov dword [esp + 0x1c8], eax
add eax, 4
mov dword [esp + 0x1c8], eax
xor eax, eax
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f0]
mov edi, dword [esp + 0x190]
mov ebx, dword [esp + 0x184]
mov ebp, dword [esp + 0x17c]
mov esi, dword [esp + 0x194]
jmp 0x450c8b
mov ecx, dword [esp + 0x5c]
jmp 0x451c4c
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x1b8], eax
mov dword [esp], eax
call fcn.0044b3c0
mov edi, dword [esp + 4]
mov ebp, dword [esp + 8]
mov dword [esp + 0x1b0], edi
mov dword [esp + 0x1b4], ebp
mov eax, dword [esp + 0x1ec]
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x4c]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x1c4], ecx
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x4c]
mov esi, dword [ecx + 0xb8]
mov ecx, dword [ecx + 0xbc]
mov edx, dword [esp + 0x1f0]
jmp 0x451c4c
mov edi, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x5c]
jmp 0x451c4c
mov eax, dword [esp + 0x1ec]
jmp 0x451d3a
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
jmp 0x450f12
mov edi, dword [esp + 0x2c]
mov eax, ebx
jmp 0x450f12
mov eax, dword [esp + 0x1fc]
test eax, eax
je 0x451e0a
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x70], eax
call fcn.00434860
lea eax, [0x76ea35]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call fcn.00435160
mov dword [esp + 4], 0
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.00434ff0
call fcn.00434a80
call fcn.004348d0
mov eax, dword [esp + 0x1ec]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x1b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.004536e0
mov eax, dword [esp + 0x1fc]
test eax, eax
jne 0x452043
mov dword [esp + 0x208], 0
add esp, 0x1dc
ret
movzx ecx, byte [esp + 0x1f]
test cl, cl
jne 0x451d7a
test eax, eax
jmp 0x451df2
mov edi, dword [esp + 0x1fc]
test edi, edi
setne cl
xor ecx, 1
mov edi, dword [esp + 0x78]
mov byte [esp + 0x1f], cl
mov ecx, dword [esp + 0x1f4]
jmp 0x450b19
mov ebx, dword [ecx + 0x20]
mov edx, dword [ecx + 0x1c]
mov ebp, dword [ecx + 0x28]
jmp 0x450ac7
mov ecx, dword [esp + 0x1ec]
mov ebx, dword [esp + 0x1e0]
xor ebp, ebp
jmp 0x450ac7
mov edx, dword [esp + 0x1e4]
jmp 0x451e4c
mov ecx, dword [esp + 0x1fc]
jmp 0x450a61
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x3c], edi
mov eax, dword [edx + 0x50]
mov dword [esp + 0x78], eax
mov ecx, dword [edx + 0x54]
mov dword [esp + 0x60], ecx
call fcn.00434860
lea eax, [0x76963c]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.00435160
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.00434f70
lea eax, [0x769881]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.00435160
mov dword [esp + 4], 0
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.00434ff0
lea eax, [0x767b15]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00435160
mov dword [esp + 4], 0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.00434ff0
call fcn.00434a80
call fcn.004348d0
mov eax, dword [esp + 0x1ec]
mov ecx, dword [eax]
mov dword [esp + 0x70], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x6c], eax
call fcn.00434860
lea eax, [0x76896e]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.00435160
mov dword [esp + 4], 0
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.00434ff0
lea eax, [0x76749a]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00435160
mov dword [esp + 4], 0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.00434ff0
lea eax, [0x767989]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00435160
mov eax, dword [esp + 0x3c]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00434f70
lea eax, [0x767afc]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00435160
mov eax, dword [esp + 0x1f8]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00434f70
call fcn.00434a80
call fcn.004348d0
lea eax, [0x777672]
mov dword [esp], eax
mov dword [esp + 4], 0x23
call fcn.00432fc0
mov ecx, 0x100000
call fcn.0045f4f0
mov eax, esi
mov ecx, 0x100000
call fcn.0045f4f0
mov ecx, 0x100000
call fcn.0045f4f0
mov ecx, 0x100000
call fcn.0045f4f0
lea eax, [0x76cd2f]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.00432fc0
lea eax, [0x7696c8]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.00432fc0
lea eax, [0x77fa56]
mov dword [esp], eax
mov dword [esp + 4], 0x39
call fcn.00432fc0
lea eax, [0x77f27f]
mov dword [esp], eax
mov dword [esp + 4], 0x37
call fcn.00432fc0
nop
call fcn.0045df10
jmp fcn.00450a20