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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x488
mov edi, edx
mov edx, dword [edx + 0x248]
lea esi, [esp + 0x1e8]
mov dword [esp + 0x88], ecx
call 0x45d81e
pop eax
mov ecx, esi
mov dword [esp + 0x1c0], eax
add edx, 8
call fcn.0042069c
mov ecx, esi
mov edx, 0x539fd8
call fcn.004532f7
mov ecx, dword [eax + 0x178]
movzx edx, dl
or ecx, dword [eax + 0x180]
je 0x45d856
mov ecx, eax
call fcn.0043bbaa
jmp 0x45d87c
mov esi, dword [eax + 0x170]
mov ecx, eax
call fcn.0043bbaa
cmp esi, 1
ja 0x45d87c
mov edx, dword [edi + 0x248]
lea ecx, [edi + 0x270]
add edx, 8
call fcn.00465f23
mov eax, dword [edi + 0x218]
mov dword [esp + 0x10], edi
cmp eax, 2
jne 0x45d898
mov dword [esp + 0x1f0], 2
jmp 0x45d8eb
lea ecx, [edi + 0x218]
test eax, eax
lea esi, [edi + 0x210]
mov eax, dword [edi + 0x21c]
mov edi, dword [edi + 0x220]
mov dword [esp + 8], ecx
je 0x45d8c3
mov ecx, eax
mov edx, edi
call fcn.0049fcd6
mov edi, edx
push esi
push eax
call dword [edi + 0x38]
add esp, 8
mov ebx, edx
mov edx, dword [esp + 8]
lea esi, [esp + 0x1f0]
mov edi, eax
mov ecx, esi
call fcn.004def98
mov dword [esi - 8], edi
mov edi, dword [esp + 0x10]
mov dword [esi - 4], ebx
movsd xmm0, qword [esp + 0x1f8]
movsd xmm2, qword [esp + 0x1e8]
movsd xmm1, qword [esp + 0x1f0]
mov eax, dword [edi + 0x228]
movsd qword [esp + 0x3a0], xmm0
movsd qword [esp + 0x398], xmm1
movsd qword [esp + 0x390], xmm2
mov dword [esp + 0x3a8], eax
cmp dword [esp + 0x398], 2
je 0x45d94b
lea ecx, [esp + 0x398]
lea edx, [esp + 0x390]
call fcn.004df022
mov dword [esp + 0x3f8], 2
and dword [esp + 0x408], 0
lea eax, [edi + 0x270]
mov dword [esp + 0xdc], eax
mov dword [esp + 0x18], eax
movzx eax, byte [edi + 0x250]
test eax, eax
je 0x45d9be
cmp eax, 1
jne 0x45ef9c
mov esi, dword [edi + 0x254]
mov bl, byte [edi + 0x251]
lea ecx, [esp + 0x1e8]
mov edx, edi
push dword [ebp + 8]
call fcn.0046617d
pop eax
cmp byte [esp + 0x1e8], 5
jne 0x45da36
mov byte [esp + 0x320], 5
mov al, 5
jmp 0x45db58
lea ecx, [esp + 0x2d8]
mov edx, edi
push dword [ebp + 8]
call fcn.0045f2f0
pop eax
movzx eax, byte [esp + 0x2d8]
cmp eax, 4
je 0x45ddb8
mov edi, dword [esp + 0x2e8]
mov ecx, dword [esp + 0x2ec]
mov bl, byte [esp + 0x2d9]
mov esi, dword [esp + 0x2dc]
mov edx, dword [esp + 0x2e0]
cmp al, 3
mov dword [esp + 0x1c4], edi
mov edi, dword [esp + 0x2e4]
mov dword [esp + 0x1c8], ecx
jne 0x45da6e
mov edi, dword [esp + 0x10]
mov word [edi + 0x250], 0x101
and dword [edi + 0x254], 0
jmp 0x45d96f
mov eax, dword [esp + 0x1e8]
cmp al, 4
jne 0x45db43
mov eax, dword [edi + 0xcc]
push dword [ebp + 8]
push dword [edi + 0xc8]
lea ecx, [esp + 0x328]
push ecx
call dword [eax + 0x18]
add esp, 0xc
mov al, byte [esp + 0x320]
jmp 0x45db58
mov ecx, dword [esp + 0x10]
mov dword [esp + 8], esi
mov esi, dword [ecx + 0x248]
mov ecx, dword [ecx + 0x24c]
add ecx, 8
add esi, 8
test eax, eax
mov dword [esp + 0x38], ecx
je 0x45db88
cmp eax, 1
jne 0x45f10c
mov ecx, dword [esp + 0x1c8]
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], edi
lea edx, [esp + 0x320]
mov dword [esp + 0x32c], ecx
lea ecx, [esp + 0xf0]
mov dword [esp + 0x328], eax
call fcn.00417d51
mov edi, dword [esp + 0x10]
mov ecx, ebx
mov ebx, dword [esp + 8]
cmp dword [edi + 0x288], 0
mov dword [esp + 0xec], ebx
mov byte [esp + 0xe9], cl
mov byte [esp + 0xe8], 1
je 0x45dc4c
cmp dword [edi + 0x290], ebx
jne 0x45dc4c
mov byte [edi + 0x250], 1
mov byte [edi + 0x251], cl
lea ecx, [esp + 0xe8]
mov dword [edi + 0x254], ebx
call fcn.004535cc
lea ecx, [esp + 0x320]
call fcn.00401e4e
jmp 0x45d96f
mov ecx, dword [esp + 0x1ec]
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], ecx
cmp al, 5
je 0x45f1f4
mov edx, dword [esp + 0x320]
cmp dl, 4
jne 0x45f043
mov byte [edi + 0x250], 2
mov byte [edi + 0x251], bl
mov dword [edi + 0x254], esi
jmp 0x45d96f
lea edi, [esp + 0x1e8]
mov dword [esp + 0x28], edx
mov edx, esi
mov ecx, edi
call fcn.0042069c
mov ecx, edi
mov edx, 0x539ea4
call fcn.004532f7
mov esi, dword [esp + 8]
mov ebx, eax
mov byte [esp + 0x3c], dl
add eax, 8
lea ecx, [esp + 0xe8]
lea edx, [ebx + 0x128]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x7c], edx
push esi
call fcn.00428fc2
pop eax
cmp dword [esp + 0xe8], 0
je 0x45dce6
lea eax, [esp + 0xf0]
mov edx, esi
movsd xmm0, qword [eax - 4]
movsd xmm1, qword [eax + 4]
movsd qword [esp + 0x328], xmm1
movsd qword [esp + 0x320], xmm0
mov ecx, dword [ebx + 0x194]
call fcn.00421638
test al, al
je 0x45dcfb
cmp dword [ebx + 0xb8], 0
jne 0x45dd14
cmp dword [ebx + 0xbc], esi
ja 0x45dd14
lea eax, [esi + 2]
mov ecx, eax
shr ecx, 0x1f
mov dword [ebx + 0xb8], ecx
mov dword [ebx + 0xbc], eax
jmp 0x45dd14
movsd xmm0, qword [esp + 0xf8]
movsd xmm2, qword [esp + 0xe8]
movsd xmm1, qword [esp + 0xf0]
mov edx, dword [esp + 0x38]
lea edi, [esp + 0x1e8]
mov ecx, esi
movsd qword [esp + 0x1f8], xmm0
movsd qword [esp + 0x1f0], xmm1
movsd qword [esp + 0x1e8], xmm2
push edi
call fcn.00466a6b
pop eax
movsd xmm0, qword [esp + 0x320]
movsd xmm1, qword [esp + 0x328]
mov ecx, esi
movsd qword [esp + 0x1f0], xmm1
movsd qword [esp + 0x1e8], xmm0
call fcn.00465f5a
mov ecx, dword [esp + 0xdc]
mov edx, edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], ebx
call fcn.00427806
jmp 0x45d96f
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
call fcn.004291b6
jmp 0x45dd31
cmp dword [ebx + 0x20], 0
jne 0x45dd14
cmp dword [ebx + 0x24], esi
ja 0x45dd14
lea eax, [esi + 2]
mov ecx, eax
shr ecx, 0x1f
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], eax
mov edx, esi
mov ecx, edi
push 0
push 0
call fcn.00429234
pop eax
pop ecx
lea ecx, [esp + 0x320]
mov edx, edi
call fcn.004291f3
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], edx
mov edx, dword [esp + 0x38]
lea esi, [esp + 0xe8]
mov dword [esp + 0x1f0], ecx
mov ecx, esi
call fcn.00431d21
mov ecx, esi
mov edx, 0x53a058
call fcn.00453333
mov ecx, dword [esp + 0x8c]
mov esi, ebx
mov edi, eax
add eax, 8
mov byte [esp + 8], dl
lea edx, [esp + 0x1e8]
add esi, 0x174
push eax
push esi
push 1
push dword [esp + 0x34]
call fcn.004548b8
add esp, 0x10
movzx edx, byte [esp + 8]
mov ecx, edi
call fcn.0043bbaa
movzx edx, byte [esp + 0x3c]
mov ecx, ebx
call fcn.0043bbaa
mov edi, dword [esp + 0x10]
jmp 0x45d96f
mov edx, dword [edi + 0x248]
lea ebx, [esp + 0x1e8]
mov ecx, ebx
add edx, 8
call fcn.0042069c
mov ecx, ebx
mov edx, 0x539f78
call fcn.004532f7
mov byte [esp + 0x47], dl
mov edx, dword [edi + 0x24c]
mov ecx, ebx
mov esi, eax
add edx, 8
call fcn.00431d21
mov ecx, ebx
mov edx, 0x53a098
call fcn.00453333
mov byte [esp + 7], dl
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov edi, eax
mov dword [esp + 8], ecx
call fcn.00421d89
cmp eax, 1
mov dword [esp + 0x20], esi
mov dword [esp + 0x34], edi
jne 0x45debc
mov esi, edx
mov edx, dword [esp + 0x10]
mov ecx, ebx
push dword [ebp + 8]
call fcn.00465f89
pop eax
cmp byte [esp + 0x1e8], 5
jne 0x45de4d
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
mov al, 5
jmp 0x45eed2
mov eax, dword [esp + 0x1e8]
cmp al, 4
jne 0x45e07b
mov ecx, dword [esp + 0x10]
and dword [esp + 0x1ec], 0
mov edx, ebx
mov dword [esp + 0x1f0], esi
mov byte [esp + 0x1e8], 7
call fcn.0044e6d8
movzx ecx, al
mov edx, str.invalid_WINDOW_UPDATE_frame
push 0x539c48
push 0x1b
call fcn.0044ef4c
pop eax
pop ecx
mov edx, dword [esp + 8]
mov ecx, 1
add edx, esi
jo 0x45deaa
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov dword [eax + 0x18], edx
mov edx, 0x539c58
call fcn.00466a41
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x34]
lea ecx, [esi + 0x128]
lea eax, [edi + 8]
lea edx, [esi + 0x174]
mov dword [esp + 8], ecx
lea ecx, [esi + 0x54]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], ecx
mov edi, dword [esp + 0x10]
mov ecx, ebx
mov edx, edi
push dword [ebp + 8]
call fcn.00465f89
pop eax
cmp byte [esp + 0x1e8], 5
je 0x45de46
mov eax, dword [esp + 0x1e8]
cmp al, 4
jne 0x45e045
mov edx, dword [esp + 0x28]
mov ecx, ebx
push dword [esp + 8]
call fcn.004290f9
pop eax
cmp dword [esp + 0x1f0], 0
je 0x45e055
mov eax, dword [esp + 0x1f0]
movsd xmm0, qword [esp + 0x1e8]
lea esi, [esp + 0xe8]
mov ecx, esi
mov dword [esp + 0xf0], eax
movsd qword [esp + 0xe8], xmm0
call fcn.00421124
mov ebx, dword [eax + 8]
mov ecx, esi
call fcn.00421124
lea ecx, [eax + 0x40]
call fcn.00421dab
test al, al
je 0x45dffd
lea ecx, [esp + 0xe8]
call fcn.00421124
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x34]
call fcn.00421d89
cmp eax, 1
jne 0x45dffd
lea esi, [esp + 0xe8]
mov edi, edx
mov ecx, esi
call fcn.00421124
mov eax, dword [eax + 0x58]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x1e8]
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], edi
mov byte [esp + 0x1e8], 7
call fcn.0044e6d8
movzx ecx, al
mov edx, str.invalid_WINDOW_UPDATE_frame
push 0x539c08
push 0x1b
call fcn.0044ef4c
pop eax
pop ecx
mov ecx, esi
call fcn.0042110c
add edi, dword [eax + 0x30]
mov ecx, 1
jo 0x45dff3
xor ecx, ecx
mov dword [eax + 0x30], edi
mov edx, 0x539c38
call fcn.00466a41
mov ecx, dword [esp + 0xf0]
movsd xmm0, qword [esp + 0xe8]
xor eax, eax
cmp ebx, 0x3b9aca00
lea ebx, [esp + 0x1e8]
setne al
mov edx, ebx
mov dword [esp + 0x1f0], ecx
mov ecx, dword [esp + 0x38]
movsd qword [esp + 0x1e8], xmm0
push eax
call fcn.0042136a
pop eax
mov esi, dword [esp + 0x20]
jmp 0x45dede
cmp al, 5
je 0x45e08b
mov ecx, dword [esp + 0x1ec]
jmp 0x45edd5
mov ecx, ebx
mov edx, edi
push dword [ebp + 8]
call fcn.00465f89
pop eax
cmp byte [esp + 0x1e8], 5
mov al, 5
jne 0x45e09e
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
jmp 0x45ee75
mov esi, dword [esp + 0x20]
cmp al, 5
jne 0x45edca
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
mov al, byte [esp + 7]
mov dl, 5
mov dword [esp + 8], edx
jmp 0x45eede
mov eax, dword [esp + 0x1e8]
cmp al, 4
jne 0x45edf1
mov edx, dword [esp + 0x3c]
lea ecx, [esi + 0xc0]
mov dword [esp + 0x78], ecx
push edi
push dword [esp + 0xc]
call fcn.00465fe7
pop ecx
pop edx
mov eax, dword [edi + 0xc0]
mov ecx, esi
lea edx, [esi + 0x104]
add ecx, 0xdc
mov dword [esp + 0x8c], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1bc], eax
mov eax, dword [esi + 0x174]
cmp eax, dword [esi + 0x178]
jbe 0x45e163
mov edx, dword [esp + 0x8c]
lea ecx, [esp + 0xe8]
push dword [esp + 8]
call fcn.00427ca1
pop eax
cmp dword [esp + 0xf0], 0
je 0x45e163
mov eax, dword [esp + 0xf0]
movsd xmm0, qword [esp + 0xe8]
mov ecx, dword [esp + 0x38]
mov edx, ebx
mov dword [esp + 0x1f0], eax
movsd qword [esp + 0x1e8], xmm0
call fcn.004278cb
mov ecx, dword [esp + 0x28]
mov edx, ebx
call fcn.00422287
mov ecx, ebx
call fcn.0042110c
mov ecx, eax
call fcn.0042256f
jmp 0x45e0ed
mov dword [esp + 0x3b8], 2
and dword [esp + 0x3c8], 0
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x2f0]
push dword [esp + 8]
call fcn.00429048
pop eax
cmp dword [esp + 0x2f8], 0
je 0x45e39b
mov eax, dword [esp + 0x2f8]
movsd xmm0, qword [esp + 0x2f0]
mov dword [esp + 0x3d8], 2
and dword [esp + 0x3e8], 0
lea esi, [esp + 0x60]
mov ecx, esi
mov dword [esp + 0x68], eax
movsd qword [esp + 0x60], xmm0
call fcn.00421124
mov eax, dword [eax + 8]
mov ecx, esi
mov dword [esp + 0x7c], eax
call fcn.0042110c
lea edx, [eax + 0x78]
lea ecx, [esp + 0xe8]
push dword [esp + 0x3c]
call fcn.00454ab7
pop eax
movzx eax, byte [esp + 0xe8]
cmp eax, 9
jne 0x45e24a
mov ecx, esi
call fcn.00421124
cmp byte [eax + 0x40], 5
je 0x45e6c4
mov ecx, dword [esp + 0x68]
xor eax, eax
cmp dword [esp + 0x7c], 0x3b9aca00
movsd xmm0, qword [esp + 0x60]
mov edx, ebx
mov dword [esp + 0x1f0], ecx
mov ecx, dword [esp + 0x38]
setne al
movsd qword [esp + 0x1e8], xmm0
push eax
call fcn.0042136a
pop eax
jmp 0x45e35f
test eax, eax
jne 0x45e3b9
lea eax, [esp + 0xf0]
lea ecx, [esp + 0x60]
movsd xmm1, qword [eax + 0x10]
movsd xmm0, qword [eax + 0x18]
movsd xmm2, qword [eax]
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0xc0], xmm0
movsd qword [esp + 0xa8], xmm2
movsd qword [esp + 0xb0], xmm1
call fcn.00421124
mov edi, dword [eax + 0x24]
lea ecx, [esp + 0xa8]
call fcn.00455735
xor edx, edx
test eax, eax
mov ecx, 0
je 0x45e2b9
test edi, edi
mov ecx, eax
je 0x45e2fd
mov eax, dword [esp + 0x1bc]
lea esi, [esp + 0x60]
cmp ecx, eax
cmovae ecx, eax
test edi, edi
cmovle edi, edx
cmp ecx, edi
cmovb edi, ecx
test edi, edi
je 0x45e55b
mov ecx, esi
call fcn.00421124
mov eax, dword [eax + 0x20]
mov ecx, 0
mov edx, edi
test eax, eax
cmovle eax, ecx
cmp edi, eax
jbe 0x45e55b
mov ecx, esi
jmp 0x45e301
lea ecx, [esp + 0x60]
call fcn.0042110c
movsd xmm0, qword [esp + 0xc0]
movsd xmm1, qword [esp + 0xb8]
lea ecx, [eax + 0x78]
lea eax, [esp + 0x1ec]
movsd xmm2, qword [esp + 0xa8]
mov edx, dword [esp + 0x3c]
movsd qword [eax + 0x1c], xmm0
movsd qword [eax + 0x14], xmm1
movsd xmm1, qword [esp + 0xb0]
movsd qword [eax + 0xc], xmm1
movsd qword [eax + 4], xmm2
mov byte [esp + 0x1e8], 0
push ebx
call fcn.004669b9
pop eax
mov edi, dword [esp + 0x10]
movzx eax, byte [esp + 0xe8]
cmp eax, 9
je 0x45e381
test eax, eax
je 0x45e381
cmp eax, 3
je 0x45e381
lea ecx, [esp + 0xe8]
call fcn.004525f0
lea esi, [esp + 0x3d0]
mov ecx, esi
call fcn.0042230b
mov ecx, esi
call fcn.0042231c
jmp 0x45e176
lea esi, [esp + 0x3b0]
mov ecx, esi
call fcn.0042230b
mov ecx, esi
call fcn.0042231c
mov esi, dword [esp + 0x20]
jmp 0x45eaac
cmp eax, 3
jne 0x45e708
mov eax, dword [esp + 0xf0]
lea ecx, [esp + 0x119]
mov edi, dword [esp + 0x110]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x40], eax
lea eax, [esp + 0xf4]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x10c]
movsd qword [esp + 0xa8], xmm0
movsd qword [esp + 0xb0], xmm1
mov dword [esp + 0x74], eax
mov eax, dword [ecx + 3]
mov dword [esp + 0x1ab], eax
mov eax, dword [ecx]
mov dword [esp + 0x1a8], eax
mov al, byte [esp + 0x118]
mov byte [esp + 0xf], al
mov al, byte [esp + 0x124]
mov byte [esp + 0xe], al
mov al, byte [esp + 0x125]
mov byte [esp + 0xd], al
mov eax, dword [esp + 0x114]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x126]
mov dword [esp + 0x18], eax
push 0x6d
lea eax, [esp + 0x12b]
push eax
push ebx
call fcn.004fea40
add esp, 0xc
mov eax, dword [esp + 0x198]
mov esi, dword [esp + 0x194]
mov ecx, dword [esp + 0x19c]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x1b0], eax
lea eax, [esp + 0x1cc]
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0xd8], esi
mov dword [esp + 0x1cc], esi
lea ecx, [esp + 0x2fc]
push eax
call fcn.00428ead
pop eax
cmp dword [esp + 0x304], 0
je 0x45f2b8
mov eax, dword [esp + 0x304]
movsd xmm0, qword [esp + 0x2fc]
lea esi, [esp + 0x1d8]
mov ecx, esi
mov dword [esp + 0x1e0], eax
movsd qword [esp + 0x1d8], xmm0
call fcn.0042110c
mov ecx, esi
mov byte [eax + 0xe5], 0
call fcn.00421124
cmp dword [eax + 0x78], 0
je 0x45e87d
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x174]
cmp eax, dword [ecx + 0x178]
jbe 0x45e86d
mov ecx, dword [esp + 0x38]
lea esi, [esp + 0x1d8]
mov edx, esi
call fcn.004278cb
mov ecx, dword [esp + 0x28]
mov edx, esi
call fcn.00422287
jmp 0x45e87d
mov dword [esp + 0x1f0], 2
and dword [esp + 0x200], 0
mov ecx, esi
mov dword [esp + 0x40], edx
call fcn.0042110c
mov edi, eax
mov eax, dword [esp + 0x20]
mov ebx, dword [edi + 0x24]
lea ecx, [edi + 0x20]
mov edx, dword [eax + 0xcc]
mov eax, 0
test ebx, ebx
cmovle ebx, eax
cmp ebx, edx
mov dword [esp + 0x18], edx
cmovae ebx, edx
mov edx, dword [esp + 0x40]
sub ebx, dword [edi + 0x64]
cmovb ebx, eax
call fcn.00427923
mov esi, dword [esp + 0x40]
mov ecx, dword [edi + 0x64]
mov eax, dword [edi + 0x24]
mov edx, 0
sub ecx, esi
mov dword [edi + 0x64], ecx
sub dword [edi + 0x60], esi
test eax, eax
cmovle eax, edx
mov edx, dword [esp + 0x18]
cmp eax, edx
cmovae eax, edx
mov edx, 0
sub eax, ecx
cmovb eax, edx
cmp ebx, eax
jae 0x45e5eb
mov ecx, edi
call fcn.00422563
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x1e8]
mov ecx, edi
add dword [eax + 0xc4], esi
call fcn.0042230b
mov ecx, edi
call fcn.0042231c
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x1f0], 2
and dword [esp + 0x200], 0
mov edx, esi
call fcn.00427923
movzx ebx, byte [esp + 0xc6]
lea ecx, [esp + 0xa8]
mov eax, ebx
and al, 1
mov byte [esp + 0xf], al
call fcn.00455735
mov ecx, ebx
and cl, 0xfe
cmp eax, esi
movzx esi, cl
mov ecx, edi
cmovbe esi, ebx
call fcn.0042230b
mov ecx, edi
call fcn.0042231c
mov eax, dword [esp + 0xa8]
mov ebx, dword [esp + 0xc0]
mov cl, byte [esp + 0xc4]
mov dl, byte [esp + 0xc5]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xac]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x98], xmm1
mov dword [esp + 0x50], eax
jmp 0x45e910
mov ebx, dword [eax + 0x44]
lea edi, [esp + 0x60]
mov ecx, edi
call fcn.00421124
mov esi, dword [eax + 0x58]
mov ecx, edi
call fcn.0042110c
lea ecx, [eax + 0x40]
mov edx, esi
push 1
mov dword [esp + 0x20], ebx
push ebx
call fcn.00428e0e
pop eax
pop ecx
mov ecx, edi
call fcn.00421124
mov eax, dword [eax + 0x58]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x2c], eax
mov al, 8
jmp 0x45e8fc
mov ecx, dword [esp + 0xec]
dec eax
mov dl, byte [esp + 0x125]
mov dh, byte [esp + 0x126]
mov edi, dword [esp + 0x108]
mov esi, dword [esp + 0x10c]
mov ebx, dword [esp + 0x110]
mov eax, dword [eax*4 + 0x45f2d0]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0xf0]
add eax, dword [esp + 0x1c0]
mov dword [esp + 0x1c], ecx
mov cl, byte [esp + 0x118]
mov byte [esp + 0x26], cl
mov cl, byte [esp + 0x124]
mov byte [esp + 0x27], cl
mov ecx, dword [esp + 0x114]
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 0xcc], ecx
mov cl, 7
mov dword [esp + 0x14], ecx
jmp eax
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x1d8]
call fcn.0042794c
mov eax, dword [esp + 0xb8]
movsd xmm0, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0xb0]
mov ecx, dword [esp + 0x1ab]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x1a8]
movsd qword [esp + 0x98], xmm1
movsd qword [esp + 0x90], xmm0
mov dword [esp + 0x80], eax
mov dword [esp + 0x83], ecx
push 0x6d
push ebx
lea eax, [esp + 0x328]
push eax
call fcn.004fea40
add esp, 0xc
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
mov dword [esp + 0xe0], eax
mov al, 3
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x14], eax
mov cl, byte [esp + 0xe]
mov esi, dword [esp + 0x18]
mov dl, byte [esp + 0xd]
mov ebx, dword [esp + 0x48]
movzx eax, byte [esp + 0xe8]
mov dword [esp + 0x54], edi
mov byte [esp + 0xe], cl
mov dword [esp + 0x18], esi
mov byte [esp + 0xd], dl
mov dword [esp + 0x48], ebx
cmp eax, 9
je 0x45e950
test eax, eax
je 0x45e950
mov esi, dword [esp + 0x2c]
cmp eax, 3
je 0x45e94a
lea ecx, [esp + 0xe8]
call fcn.004525f0
mov dword [esp + 0x30], esi
jmp 0x45e958
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
lea esi, [esp + 0x60]
mov ecx, esi
call fcn.00421124
cmp dword [eax + 0x78], 0
jne 0x45e976
mov ecx, esi
call fcn.00421124
cmp byte [eax + 0x40], 5
jne 0x45e981
mov ecx, dword [esp + 0x28]
mov edx, esi
call fcn.00422287
mov ecx, dword [esp + 0x68]
xor eax, eax
cmp dword [esp + 0x7c], 0x3b9aca00
movsd xmm0, qword [esp + 0x60]
lea ebx, [esp + 0x1e8]
mov edx, ebx
mov dword [esp + 0x1f0], ecx
mov ecx, dword [esp + 0x38]
setne al
movsd qword [esp + 0x1e8], xmm0
push eax
call fcn.0042136a
pop eax
movzx eax, word [esp + 0x5c]
movsd xmm0, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x98]
mov ecx, dword [esp + 0x83]
mov word [esp + 0x58], ax
mov al, byte [esp + 0x5e]
movsd qword [esp + 0x308], xmm0
movsd qword [esp + 0x310], xmm1
mov byte [esp + 0x5a], al
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a3], ecx
push 0x6d
lea eax, [esp + 0x324]
push eax
lea eax, [esp + 0x418]
push eax
call fcn.004fea40
add esp, 0xc
mov ecx, dword [esp + 0xe4]
mov eax, dword [esp + 0xe0]
lea esi, [esp + 0x3d0]
mov dword [esp + 0x1d4], ecx
mov ecx, esi
mov dword [esp + 0x1d0], eax
call fcn.0042230b
mov ecx, esi
call fcn.0042231c
lea esi, [esp + 0x3b0]
mov ecx, esi
call fcn.0042230b
mov ecx, esi
call fcn.0042231c
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
test cl, cl
je 0x45eaf8
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x20]
movzx eax, cl
cmp eax, 9
jne 0x45eb1e
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x2c], ecx
mov ecx, ebx
mov edx, edi
push dword [ebp + 8]
call fcn.0046617d
pop eax
cmp byte [esp + 0x1e8], 5
je 0x45ee03
mov edx, dword [esp + 0x1e8]
cmp dl, 4
jne 0x45ee0f
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x3c]
push edi
push dword [esp + 0xc]
call fcn.00465fe7
pop ecx
pop edx
test al, al
jne 0x45e0ed
jmp 0x45ee23
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov dword [esi + 0xd0], 1
mov dword [esi + 0xd4], eax
mov dword [esi + 0xd8], edx
mov edx, dword [esp + 0x74]
mov al, byte [esp + 0x5a]
mov byte [esp + 0x1e8], cl
lea ecx, [esp + 0x1ec]
movsd xmm0, qword [esp + 0x308]
movsd xmm1, qword [esp + 0x310]
mov byte [ecx - 1], al
movzx eax, word [esp + 0x58]
mov word [ecx - 3], ax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x318]
movsd qword [ecx + 0x10], xmm1
movsd qword [ecx + 8], xmm0
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x20c], edx
mov dword [esp + 0x210], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x214], eax
mov al, byte [esp + 0xf]
mov byte [esp + 0x218], al
mov eax, dword [esp + 0x1a3]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x1a0]
mov dword [ecx + 0x2d], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x220], eax
mov al, byte [esp + 0xe]
mov byte [esp + 0x224], al
mov al, byte [esp + 0xd]
mov byte [esp + 0x225], al
mov eax, dword [esp + 0x18]
mov byte [esp + 0x226], al
push 0x6d
lea eax, [esp + 0x414]
push eax
lea eax, [esp + 0x22f]
push eax
call fcn.004fea40
add esp, 0xc
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x1d4]
mov edx, ebx
mov dword [esp + 0x294], eax
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x29c], ecx
mov ecx, edi
mov dword [esp + 0x298], eax
call fcn.0044e6d8
movzx ecx, al
mov edx, 0x539b0a
push 0x539b18
push 0xd
call fcn.0044ef4c
pop eax
pop ecx
mov ecx, ebx
mov edx, edi
push dword [ebp + 8]
call fcn.00465f89
pop eax
cmp byte [esp + 0x1e8], 5
je 0x45ee3f
mov edx, dword [esp + 0x1e8]
cmp dl, 4
jne 0x45ee4f
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x3c]
push edi
push dword [esp + 0xc]
call fcn.00465fe7
pop ecx
pop edx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], ecx
jmp 0x45e0ed
mov ecx, dword [esp + 0x1ec]
mov edi, dword [esp + 0x10]
mov edx, eax
shrd edx, ecx, 8
shr ecx, 8
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], ecx
jmp 0x45eed2
mov ecx, dword [esp + 0x1ec]
mov edx, eax
shrd edx, ecx, 8
shr ecx, 8
jmp 0x45ee75
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov al, 5
jmp 0x45ee2d
mov ecx, dword [esp + 0x1ec]
mov dword [esp + 8], edx
shrd edx, ecx, 8
shr ecx, 8
jmp 0x45ee31
mov al, 4
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
jmp 0x45ee65
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov al, 5
mov dword [esp + 8], eax
jmp 0x45ee61
mov ecx, dword [esp + 0x1ec]
mov dword [esp + 8], edx
shrd edx, ecx, 8
shr ecx, 8
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 8]
cmp al, 5
mov dword [esp + 0x70], ecx
mov dword [esp + 0x6c], edx
mov dword [esp + 8], eax
je 0x45eed6
movzx eax, al
cmp eax, 4
jne 0x45ef89
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
push dword [eax]
call dword [ecx]
add esp, 4
mov edi, eax
mov eax, dword [esi + 0x9c]
test eax, eax
je 0x45eec0
push dword [esi + 0x98]
mov dword [esp + 0xc], edx
call dword [eax + 0xc]
mov edx, dword [esp + 0xc]
add esp, 4
mov dword [esi + 0x98], edi
mov edi, dword [esp + 0x10]
mov al, 4
mov dword [esi + 0x9c], edx
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x34]
mov al, byte [esp + 7]
movzx edx, al
call fcn.0043bbaa
movzx edx, byte [esp + 0x47]
mov ecx, esi
call fcn.0043bbaa
mov eax, dword [esp + 8]
cmp al, 4
jne 0x45f1e8
cmp dword [edi + 0x23c], 0
jne 0x45ef31
cmp byte [edi + 0x294], 0
jne 0x45f1f4
cmp dword [edi + 0x288], 0
je 0x45f1f4
cmp dword [edi + 0x28c], 0x7fffffff
je 0x45f1f4
mov edx, dword [edi + 0x248]
mov ecx, ebx
add edx, 8
call fcn.0042069c
mov ecx, ebx
mov edx, 0x539f34
call fcn.004532f7
mov esi, dword [eax + 0x178]
mov edi, dword [eax + 0x180]
movzx edx, dl
mov ecx, eax
call fcn.0043bbaa
or edi, esi
mov edi, dword [esp + 0x10]
jne 0x45f1f4
mov edx, dword [edi + 0x248]
mov ecx, dword [esp + 0xdc]
add edx, 8
call fcn.00465f23
jmp 0x45d96f
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], ecx
jmp 0x45eed6
mov eax, edi
mov edi, dword [edi + 0x254]
and dword [esp + 0xec], 0
and dword [esp + 0xf0], 0
and dword [esp + 0xf8], 0
mov dword [esp + 0xe8], str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_strpattern.rs
mov dword [esp + 0xf4], 0x53a9e8
movsd xmm0, qword [eax + 0x240]
movsd xmm2, qword [eax + 0x230]
movsd xmm1, qword [eax + 0x238]
mov bl, byte [eax + 0x251]
and dword [eax + 0x23c], 0
movsd qword [esp + 0x1f8], xmm0
movsd qword [esp + 0x1f0], xmm1
movsd qword [esp + 0x1e8], xmm2
mov eax, dword [esp + 0x1f4]
test eax, eax
je 0x45f05c
lea esi, [esp + 0x1e8]
lea ecx, [esp + 0x320]
mov edx, esi
call fcn.00417d51
mov esi, dword [esi + 0x14]
lea ecx, [esp + 0xe8]
call fcn.00401e4e
jmp 0x45f08e
lea ecx, [esp + 0xe8]
push dword [esp + 0x324]
call fcn.00465f08
pop eax
jmp 0x45f1fc
mov esi, dword [esp + 0xf8]
movsd xmm0, qword [esp + 0xe8]
movsd xmm1, qword [esp + 0xf0]
mov dword [esp + 0x330], esi
movsd qword [esp + 0x328], xmm1
movsd qword [esp + 0x320], xmm0
movsd xmm0, qword [esp + 0x320]
movsd xmm1, qword [esp + 0x328]
lea ecx, [esp + 0x1e8]
movsd qword [esp + 0x418], xmm1
movsd qword [esp + 0x410], xmm0
call fcn.00432954
mov eax, esi
or eax, edi
je 0x45f102
test esi, esi
je 0x45f124
movsd xmm0, qword [esp + 0x410]
movsd xmm1, qword [esp + 0x418]
movsd qword [esp + 0xf8], xmm1
movsd qword [esp + 0xf0], xmm0
mov dword [esp + 0xec], esi
mov word [esp + 0xe8], 0x201
jmp 0x45f1fc
mov byte [esp + 0xe8], 3
jmp 0x45f160
test edx, edx
mov dword [esp + 0x28], edx
je 0x45f171
lea ecx, [esp + 0xe8]
push edi
call fcn.00416640
pop eax
jmp 0x45f179
mov byte [esp + 0xe8], 1
mov byte [esp + 0xe9], bl
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_strpattern.rs
and dword [esp + 0xf4], 0
and dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0x53a9e8
lea ecx, [esp + 0x410]
call fcn.00401e4e
jmp 0x45f1fc
and dword [esp + 0xec], 0
mov eax, dword [esp + 0xf0]
movsd xmm0, qword [esp + 0xe8]
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x1e9], bl
mov bh, 2
mov dword [ecx + 8], eax
lea eax, [esp + 0x1e8]
movsd qword [ecx], xmm0
mov byte [esp + 0x1e8], bh
mov ecx, esi
push eax
call fcn.00466a6b
pop eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x28]
mov byte [esp + 0xe9], bl
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], edi
mov byte [esp + 0xe8], bh
jmp 0x45f1fc
movzx eax, al
cmp eax, 5
jne 0x45f294
mov byte [esp + 0xe8], 4
lea esi, [esp + 0x3f0]
mov ecx, esi
call fcn.0042230b
mov ecx, esi
call fcn.0042231c
lea esi, [esp + 0x390]
mov ecx, esi
call fcn.0042230b
mov ecx, esi
call fcn.0042231c
movzx eax, byte [esp + 0xe8]
cmp eax, 3
je 0x45f244
cmp eax, 4
jne 0x45f250
mov eax, dword [esp + 0x88]
mov byte [eax], 6
jmp 0x45f28c
mov eax, dword [esp + 0x88]
mov byte [eax], 5
jmp 0x45f28c
movsd xmm0, qword [esp + 0xf8]
movsd xmm2, qword [esp + 0xe8]
movsd xmm1, qword [esp + 0xf0]
mov ecx, dword [esp + 0x88]
lea edx, [esp + 0x1e8]
movsd qword [edx + 0x10], xmm0
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm2
call fcn.004274af
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [esp + 0xd4]
mov edx, dword [esp + 0xd0]
lea ecx, [esp + 0xe8]
shld esi, edx, 8
shl edx, 8
or edx, eax
push esi
jmp 0x45f051
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__value
push 0x539b5c
call fcn.0050af40
pop eax
ud2