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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x8c0
mov eax, dword [edx]
mov ebx, dword [ebp + 8]
mov esi, edx
mov dword [esp + 0x34], ecx
mov dword [esp], edx
xor eax, 4
or eax, dword [edx + 4]
jne 0x43fd4c
mov ecx, 0x88
lea eax, [esp + 0xa0]
lea edi, [esi + 8]
add eax, ecx
mov dword [esp + 0x28], eax
lea eax, [esp + 0x1e0]
lea eax, [eax + ecx]
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x550]
lea eax, [eax + ecx]
mov dword [esp + 0x98], eax
lea eax, [esi + 0x58]
mov dword [esp + 0xc], eax
lea eax, [esi + 0xc]
mov dword [esp + 0x20], eax
lea eax, [esi + 0x6c]
mov dword [esp + 0x38], eax
lea eax, [esi + 0x60]
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x2f8]
push dword [ebx]
call fcn.00467848
add esp, 4
movzx ebx, byte [esp + 0x2f8]
cmp ebx, 5
jne 0x440ffd
mov eax, dword [edi]
mov dword [edi], 2
cmp eax, 2
je 0x43e3ee
mov esi, dword [esp + 0x20]
mov dword [esp + 0x850], eax
mov eax, edi
mov ecx, 0xf
lea edi, [esp + 0x854]
mov ebx, dword [ebp + 8]
lea edx, [esp + 0x850]
rep movsd dword es:[edi], dword [esi]
mov edi, eax
mov ecx, eax
mov esi, dword [esp]
push ebx
call fcn.004419a4
add esp, 4
jmp 0x43e384
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x4a8]
push dword [ebx]
call fcn.00458ccb
add esp, 4
mov eax, dword [esp + 0x4a8]
mov ecx, eax
and cl, 7
cmp cl, 3
je 0x4412ff
cmp eax, 4
je 0x44130e
push 0x98
lea eax, [esp + 0x4ac]
push eax
lea eax, [esp + 0x558]
push eax
call fcn.004e4d00
add esp, 0xc
lea eax, [esp + 0x540]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x78], xmm0
mov dword [esp + 0x80], eax
cmp dword [esp + 0x78], 0
mov eax, dword [esp + 0x7c]
je 0x43e485
test eax, eax
je 0x4413e9
mov eax, dword [esp + 0x80]
test eax, eax
je 0x4413fd
add eax, 0x88
jmp 0x43e4a1
test eax, eax
je 0x4413e9
mov eax, dword [esp + 0x80]
test eax, eax
je 0x4413fd
add eax, 0xb8
mov eax, dword [eax]
test al, 4
jne 0x43e7db
push 0x98
lea esi, [esp + 0x554]
push esi
lea eax, [esp + 0xa8]
push eax
call fcn.004e4d00
add esp, 0xc
mov eax, 0x88
push eax
push esi
lea eax, [esp + 0x1e8]
push eax
call fcn.004e4d00
add esp, 0xc
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x9c]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, 0x88
movsd qword [esi], xmm0
movsd qword [esi + 8], xmm1
push eax
lea eax, [esp + 0x554]
push eax
lea eax, [esp + 0x720]
push eax
call fcn.004e4d00
add esp, 0xc
movq xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
lea ecx, [esp + 0x1e0]
mov edx, 0x525fac
movsd qword [esp + 0x1a8], xmm1
movq qword [esp + 0x1a0], xmm0
push 0xa
call fcn.0041bdc4
add esp, 4
cmp dword [esp + 0x1e0], 0
jne 0x441499
lea esi, [esp + 0x1e4]
mov dword [esp + 0x18], edi
lea ecx, [esp + 0x1e0]
mov edx, 0x502238
movq xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [esp + 0x300], xmm1
movq qword [esp + 0x2f8], xmm0
push 0x10
call fcn.0041bdc4
add esp, 4
cmp dword [esp + 0x1e0], 0
jne 0x4414aa
movsd xmm0, qword [esi]
lea edi, [esp + 0xa0]
movsd xmm1, qword [esi + 8]
movsd xmm2, qword [esp + 0x300]
mov esi, 5
lea eax, [esp + 0xc0]
mov ecx, 0
lea edx, [esp + 0xd0]
movsd qword [edi + 0x10], xmm0
movq xmm0, qword [esp + 0x2f8]
movsd qword [edi + 0x18], xmm1
movsd qword [esp + 0xa8], xmm2
movq qword [esp + 0xa0], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
mov dword [eax], ecx
mov dword [eax + 4], 0x44
mov dword [edx + 0xc], ecx
mov dword [edx + 8], ecx
mov dword [edx], ecx
mov dword [edx + 4], 0x45
mov dword [edi + 0x4c], ecx
mov dword [edi + 0x48], ecx
mov dword [edi + 0x40], ecx
mov dword [edi + 0x44], 0x47
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x718]
push edi
call fcn.0041e714
add esp, 4
cmp byte [esp + 0x1f0], 2
je 0x43e66b
mov eax, dword [esp + 0x1e0]
push dword [esp + 0x1e8]
push dword [esp + 0x1e8]
lea ecx, [esp + 0x1f4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
add edi, 0x10
dec esi
jne 0x43e627
lea edi, [esp + 0x1e0]
xor eax, eax
lea ecx, [esp + 0x718]
mov dword [esp + 0x1e4], 0x43
mov edx, edi
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1e0], eax
call fcn.0040ac19
test eax, eax
je 0x43e738
cmp dword [eax + 8], 8
jne 0x43e6d0
mov eax, dword [eax + 4]
mov edx, 0x69617274
mov esi, 0x7372656c
mov ecx, dword [eax]
mov eax, dword [eax + 4]
xor ecx, edx
xor eax, esi
or eax, ecx
je 0x43e738
xor eax, eax
mov dword [esp + 0x2fc], 0x43
mov ecx, edi
lea edx, [esp + 0x718]
mov dword [esp + 0x304], eax
mov dword [esp + 0x300], eax
mov dword [esp + 0x2f8], eax
lea eax, [esp + 0x2f8]
push eax
call fcn.0041e2c2
add esp, 4
cmp byte [esp + 0x1f0], 2
je 0x43e738
mov eax, dword [esp + 0x1e0]
push dword [esp + 0x1e8]
push dword [esp + 0x1e8]
lea ecx, [esp + 0x1f4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
xor eax, eax
mov dword [esp + 0x1e4], 0x14
lea ecx, [esp + 0x670]
lea edx, [esp + 0x718]
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1e0], eax
push edi
call fcn.0041e2c2
add esp, 4
cmp byte [esp + 0x680], 2
je 0x43e8d6
movq xmm0, qword [esp + 0x670]
movsd xmm1, qword [esp + 0x678]
mov eax, dword [esp + 0x680]
xor edx, edx
movq qword [esp + 0x3b0], xmm0
movsd qword [esp + 0x3b8], xmm1
mov dword [esp + 0x3c0], eax
mov ecx, dword [esp + 0x3b4]
mov eax, dword [esp + 0x3b8]
cmp eax, edx
je 0x43e801
mov bl, byte [ecx + edx]
inc edx
cmp bl, 9
je 0x43e7c1
add bl, 0xe0
cmp bl, 0x5f
jb 0x43e7c1
jmp 0x4413a4
lea ecx, [esp + 0x78]
call fcn.0043c6e1
lea ecx, [esp + 0x550]
call fcn.0040f921
mov ecx, dword [esp + 0x98]
call fcn.0043c685
jmp 0x43e384
mov ebx, dword [ebp + 8]
mov edx, 0x2c
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x1e4], ecx
xor ecx, ecx
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1f4], 1
mov dword [esp + 0x1f8], edx
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], eax
mov word [esp + 0x204], 1
mov ecx, edi
call fcn.00420b1a
test eax, eax
je 0x43e8b3
mov ecx, eax
call fcn.004965c6
mov esi, edx
lea ecx, [esp + 0x2f8]
lea edx, [esp + 0x718]
push esi
push eax
call fcn.0041e65d
add esp, 8
cmp byte [esp + 0x308], 2
je 0x43e858
mov eax, dword [esp + 0x2f8]
push dword [esp + 0x300]
push dword [esp + 0x300]
lea ecx, [esp + 0x30c]
push ecx
call dword [eax + 0xc]
add esp, 0xc
jmp 0x43e858
mov eax, dword [esp + 0x3b0]
push dword [esp + 0x3b8]
push dword [esp + 0x3b8]
lea ecx, [esp + 0x3c4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov esi, 5
lea edi, [esp + 0xac]
mov eax, dword [edi - 0xc]
test eax, eax
je 0x43e8f6
push dword [edi - 4]
push dword [edi - 8]
push edi
call dword [eax + 0xc]
add esp, 0xc
add edi, 0x10
dec esi
jne 0x43e8e2
cmp dword [esp + 0x1a0], 0
je 0x43e92e
mov edx, dword [esp + 0x1a8]
mov esi, dword [esp]
mov edi, dword [esp + 0x18]
xor eax, eax
mov ecx, edx
or ecx, eax
je 0x43e991
lea ecx, [esp + 0x718]
push eax
call fcn.00420e02
add esp, 4
jmp 0x43e988
mov eax, dword [esp + 0x1a8]
push dword [esp + 0x1a4]
lea ecx, [esp + 0xa4]
push ecx
call dword [eax + 0x18]
add esp, 8
mov eax, dword [esp + 0xa0]
mov esi, dword [esp]
mov edi, dword [esp + 0x18]
or eax, dword [esp + 0xa4]
je 0x43e988
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb4]
xor ecx, eax
xor esi, edx
or esi, ecx
mov esi, dword [esp]
je 0x43e916
mov cl, byte [esp + 0x784]
jmp 0x43e9b7
movzx ecx, byte [esp + 0x784]
xor edx, edx
cmp ecx, 7
ja 0x43f331
mov eax, 0xb2
bt eax, ecx
mov eax, 0
jae 0x43e91c
cmp dword [esp + 0x1a0], 0
mov dword [esp + 0x68], ecx
je 0x43e9d4
cmp dword [esp + 0x1a8], 0
sete byte [esp + 0x16]
jmp 0x43e9f0
mov eax, dword [esp + 0x1a8]
push dword [esp + 0x1a4]
call dword [eax + 0x14]
mov ecx, dword [esp + 0x6c]
add esp, 4
mov byte [esp + 0x16], al
cmp cl, 7
jne 0x43eaa7
lea ecx, [esp + 0x488]
lea edx, [esp + 0x718]
call fcn.00420c3c
cmp dword [esp + 0x488], 0
je 0x43eaa7
mov eax, dword [esp + 0x494]
or eax, dword [esp + 0x490]
je 0x43eaa7
mov eax, dword [esp + 0x80]
movq xmm0, qword [esp + 0x78]
lea ecx, [esp + 0xa0]
mov byte [esp + 0xa0], 2
mov dword [esp + 0xa4], 2
mov dword [esp + 0x1e8], eax
movq qword [esp + 0x1e0], xmm0
call fcn.0041ee9e
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 3
call fcn.00459423
lea ecx, [esp + 0x718]
call fcn.0040f921
jmp 0x43f282
mov ecx, dword [esp + 0x798]
mov ebx, dword [esp + 0x30]
test ecx, ecx
je 0x43ebcc
mov edx, 0x19101b7
push 0xfac555e4
push 0x3c5e3ff5
push 0xd5c9dfc3
call fcn.00481179
add esp, 0xc
test eax, eax
je 0x43ebcc
mov esi, eax
mov edi, edx
push eax
lea eax, [esp + 0x70c]
push eax
call dword [edx + 0xc]
add esp, 8
movdqu xmm0, xmmword [esp + 0x708]
pcmpeqb xmm0, xmmword [0x4ee530]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x43eba8
mov eax, dword [esi + 0xc]
mov edi, dword [esi]
mov dword [esp + 0x300], eax
movq xmm0, qword [esi + 4]
movq qword [esp + 0x2f8], xmm0
push esi
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
je 0x43ebcc
mov eax, dword [esp + 0x300]
movq xmm0, qword [esp + 0x2f8]
lea esi, [esp + 0xa0]
mov dword [esp + 0xa0], edi
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x798]
mov dword [esi + 0xc], eax
movq qword [esi + 4], xmm0
push esi
call fcn.00409e7c
add esp, 4
mov eax, dword [esp + 0x1e0]
test eax, eax
je 0x43ebcc
push dword [esp + 0x1e8]
push dword [esp + 0x1e8]
lea ecx, [esp + 0x1f4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
jmp 0x43ebcc
push esi
call dword [edi]
add esp, 4
cmp dword [edi + 4], 0
je 0x43ebcc
cmp dword [edi + 8], 9
jb 0x43ebbd
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp byte [esp + 0x68], 7
setne byte [esp + 0x50]
push 0x88
lea eax, [esp + 0x71c]
push eax
lea eax, [esp + 0x5f0]
push eax
call fcn.004e4d00
add esp, 0xc
mov eax, dword [ebx]
mov ecx, dword [esp + 0x668]
test eax, eax
mov dword [esp + 0x3c], eax
cmove ebx, eax
test ecx, ecx
mov dword [esp + 0x54], ebx
je 0x43ecb0
mov edx, 0xa5d05dda
push 0xc3a2a014
push 0x813e3791
push 0xf53b6467
call fcn.00481179
add esp, 0xc
test eax, eax
je 0x43ecb0
mov esi, eax
mov edi, edx
push eax
lea eax, [esp + 0x6fc]
push eax
call dword [edx + 0xc]
add esp, 8
movdqu xmm0, xmmword [esp + 0x6f8]
pcmpeqb xmm0, xmmword [0x4ee490]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x43ec8c
movq xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [esp + 0x2d8], xmm1
movq qword [esp + 0x2d0], xmm0
push esi
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x43ecbb
push esi
call dword [edi]
add esp, 4
cmp dword [edi + 4], 0
je 0x43ecb0
cmp dword [edi + 8], 9
jb 0x43eca1
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x2d0], 0
mov esi, dword [esp + 0x668]
mov edi, dword [esp + 0x18]
test esi, esi
je 0x43ed13
mov edx, dword [esi + 0xc]
test edx, edx
je 0x43ed13
mov ecx, dword [esi]
call fcn.0041c7a6
mov edi, dword [esi + 4]
test edi, edi
je 0x43ecf2
lea eax, [edi + 0x11]
push eax
push 0xff
push dword [esi]
call fcn.004e4ba0
add esp, 0xc
lea eax, [edi + 1]
mov dword [esi + 0xc], 0
mov ecx, eax
and eax, 0xfffffff8
shr ecx, 3
sub eax, ecx
cmp edi, 8
cmovb eax, edi
mov edi, dword [esp + 0x18]
mov dword [esi + 8], eax
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0xa0]
mov eax, dword [eax]
lea edx, [eax + 8]
mov dword [esp + 0x70], eax
call fcn.00413448
cmp dword [esp + 0xa0], 0
jne 0x4414c3
mov al, byte [esp + 0xa8]
mov esi, dword [esp]
mov ebx, dword [esp + 0xa4]
mov byte [esp + 0x17], al
mov eax, dword [esi + 0x5c]
mov dword [esp + 0x40], eax
add eax, 8
mov dword [esp + 0x74], eax
push eax
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x538034]
test eax, 0x7fffffff
jne 0x43f30c
mov dword [esp + 0x64], 0
mov eax, dword [esp + 0x40]
mov al, byte [eax + 0xc]
test al, al
jne 0x4414ff
lea edx, [ebx + 0x38]
mov dword [esp + 0x1c], ebx
lea ebx, [esp + 0xa0]
mov ecx, ebx
call fcn.0040d28e
mov al, byte [esp + 0xa0]
cmp al, 3
jne 0x43edc8
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0xe8], 0
je 0x43f293
mov byte [esp + 8], 3
mov byte [esp + 0x24], 5
jmp 0x43ee2b
mov byte [esp + 8], al
mov al, byte [esp + 0xa1]
mov cl, byte [ebx + 0x17]
mov dl, byte [esp + 0xb4]
mov byte [esp + 0x24], al
movzx eax, word [esp + 0xa2]
mov byte [esp + 0x2e], cl
mov ecx, dword [esp + 0xb0]
mov byte [esp + 7], dl
mov word [esp + 0x46], ax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x5c], eax
movzx eax, word [ebx + 0x15]
mov word [esp + 0x2c], ax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x58], eax
mov ebx, dword [ebp + 8]
movzx edx, byte [esp + 0x64]
mov ecx, dword [esp + 0x74]
call fcn.00422a70
movzx edx, byte [esp + 0x17]
mov ecx, dword [esp + 0x1c]
call fcn.00422a70
mov eax, dword [esp + 0x2d0]
test eax, eax
je 0x43ee71
push dword [esp + 0x2d8]
push dword [esp + 0x2d8]
lea ecx, [esp + 0x2e4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
cmp byte [esp + 0x654], 0xa
jb 0x43ee9a
cmp dword [esp + 0x65c], 0
je 0x43ee9a
push dword [esp + 0x658]
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea ecx, [esp + 0x628]
call fcn.00422565
lea ecx, [esp + 0x5e8]
call fcn.0040f95c
mov ecx, dword [esp + 0x668]
call fcn.0041ff9c
mov cl, byte [esp + 0x24]
mov edx, dword [esp + 0x10]
mov ch, byte [esp + 8]
movzx eax, word [esp + 0x46]
mov dword [esp + 0x10], edx
mov byte [esp + 0x24], cl
mov byte [esp + 0xa0], ch
mov byte [esp + 0xa1], cl
mov word [esp + 0xa2], ax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xa4], edx
lea edx, [esp + 0xa0]
cmp ch, 3
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xb0], eax
mov al, byte [esp + 7]
mov byte [esp + 0xb4], al
movzx eax, word [esp + 0x2c]
mov word [edx + 0x15], ax
mov ah, byte [esp + 0x2e]
mov byte [edx + 0x17], ah
jne 0x43ef50
mov byte [esp + 0x1b0], 3
mov byte [esp + 0x1b1], cl
jmp 0x43f1f3
lea ecx, [esp + 0x1b0]
call fcn.0040c7d3
cmp byte [esp + 0x1b0], 5
jne 0x43f1f3
mov al, byte [esp + 0x1c4]
mov byte [esp + 0x1c], al
mov edx, dword [esp + 0x1b4]
mov ebx, dword [esp + 0x1b8]
mov edi, dword [esp + 0x1bc]
lea ecx, [esp + 0x1e0]
add edx, 8
call fcn.00413448
cmp dword [esp + 0x1e0], 0
jne 0x44152c
mov esi, dword [esp + 0x1e4]
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esi + 0x18c]
mov edx, dword [esi + 0x190]
mov dword [esp + 8], eax
push edi
push ebx
call fcn.00410a65
add esp, 8
mov edx, dword [esp + 8]
mov bl, byte [eax + 0xe4]
mov ecx, esi
call fcn.00422a70
cmp byte [esp + 0x1c], 0
lea esi, [esp + 0x1e0]
lea edi, [esp + 0xa0]
je 0x43f02e
test bl, bl
je 0x43f02e
mov ecx, esi
lea edx, [esp + 0x1b4]
call fcn.0040ce55
mov ebx, dword [esp + 0x30]
cmp dword [ebx], 0
je 0x43f017
mov ecx, ebx
call fcn.0043b6f7
mov eax, dword [esp + 0x1e8]
movq xmm0, qword [esp + 0x1e0]
mov dword [ebx + 8], eax
movq qword [ebx], xmm0
lea ebx, [esp + 0x1b4]
mov ecx, edi
mov edx, ebx
call fcn.0040ce55
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
lea eax, [esp + 0x1ec]
movsd xmm2, qword [esp + 0x1a8]
mov edx, dword [esp + 0x80]
cmp byte [esp + 0x68], 7
mov cl, byte [esp + 0x16]
mov ebx, dword [ebp + 8]
movsd qword [edi + 0x18], xmm1
movsd qword [edi + 0x10], xmm0
mov byte [esp + 0xac], 0
movsd xmm0, qword [esp + 0xa0]
movsd xmm1, qword [esp + 0xb0]
movsd qword [esp + 0x440], xmm0
movsd xmm0, qword [esp + 0xa8]
movsd qword [esp + 0x450], xmm1
movsd qword [esp + 0x448], xmm0
movsd xmm0, qword [esp + 0xb8]
movsd qword [esp + 0x458], xmm0
movsd xmm0, qword [esp + 0x448]
movsd qword [eax + 8], xmm0
movsd xmm0, qword [esp + 0x440]
movsd qword [eax], xmm0
lea eax, [esp + 0x450]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0x1fc]
movsd qword [eax], xmm0
movsd xmm0, qword [esp + 0x1a0]
movsd qword [eax + 8], xmm1
lea eax, [esp + 0x20c]
movsd qword [eax + 8], xmm2
movsd qword [eax], xmm0
movq xmm0, qword [esp + 0x78]
mov dword [esp + 0x1e8], edx
mov edx, dword [esp + 0xc]
movq qword [esp + 0x1e0], xmm0
sete byte [esp + 0x21c]
mov byte [esp + 0x21d], cl
lea ecx, [esp + 0x2f8]
push dword [ebx]
call fcn.00467848
add esp, 4
movzx eax, byte [esp + 0x2f8]
cmp eax, 5
je 0x43f2d7
cmp eax, 6
je 0x441374
mov eax, dword [esp + 0x1e8]
movq xmm0, qword [esp + 0x1e0]
lea ecx, [esp + 0x2f8]
mov dword [esp + 0x3b8], eax
movq qword [esp + 0x3b0], xmm0
call fcn.0041ee9e
lea ecx, [esp + 0x3b0]
mov edx, edi
mov dword [esp + 0xa0], eax
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 3
call fcn.00459423
lea ecx, [esp + 0x1ec]
call fcn.0043b6f7
lea ecx, [esp + 0x1fc]
call fcn.0043b6dc
lea ecx, [esp + 0x20c]
call fcn.0043c685
mov esi, dword [esp]
mov edi, dword [esp + 0x18]
jmp 0x43e384
movsd xmm1, qword [esp + 0x1b8]
movq xmm0, qword [esp + 0x1c0]
movsd xmm2, qword [esp + 0x1b0]
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x440]
movsd qword [esp + 0x448], xmm1
movsd xmm1, qword [esp + 0x78]
movq qword [esp + 0x450], xmm0
movsd qword [esp + 0x440], xmm2
mov dword [esp + 0x1e8], eax
movsd qword [esp + 0x1e0], xmm1
call fcn.0041ee9e
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 3
call fcn.00459423
lea ecx, [esp + 0x1a0]
call fcn.0043c685
jmp 0x43e384
cmp dword [esp + 0x3c], 0
mov ebx, eax
mov byte [esp + 8], 3
je 0x43f2f7
mov eax, dword [esp + 0x54]
mov ecx, dword [ebx + 0x18c]
mov edx, dword [ebx + 0x190]
push dword [eax + 8]
push dword [eax + 4]
call fcn.00410a65
add esp, 8
cmp byte [eax + 0xe4], 0
je 0x43f2f7
mov byte [esp + 0x24], 3
mov byte [esp + 8], 3
jmp 0x43ee2b
mov ecx, 0x10
mov edx, edi
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x18]
mov ecx, edi
push ebx
call fcn.004419a4
add esp, 4
mov esi, dword [esp]
jmp 0x43e384
cmp byte [ebx + 0x34], 0
mov eax, ebx
mov ebx, dword [ebp + 8]
je 0x43f31c
mov byte [esp + 0x24], 1
jmp 0x43ee2e
call fcn.004ec710
xor al, 1
mov dword [esp + 0x64], eax
jmp 0x43ed7c
lea ecx, [eax + 0xe8]
cmp dword [ecx], 0
je 0x43f338
mov byte [esp + 0x24], 5
jmp 0x43ee2e
xor eax, eax
jmp 0x43e91c
mov edx, dword [eax + 0xec]
mov dword [esp + 0x2f4], ecx
lea esi, [edx + 2]
mov dword [esp + 0x3c], edx
mov ecx, esi
shr ecx, 0x1f
mov dword [eax + 0xe8], ecx
mov dword [eax + 0xec], esi
lea ecx, [esp + 0x1e0]
push dword [eax + 0xb0]
push dword [eax + 0x14c]
call fcn.00417582
add esp, 8
cmp byte [esp + 0x654], 5
jne 0x43f398
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1e0], 1
push 0x88
lea eax, [esp + 0x5ec]
push eax
lea eax, [esp + 0x678]
push eax
call fcn.004e4d00
add esp, 0xc
movsd xmm1, qword [esp + 0x2d8]
mov al, byte [esp + 0x6dc]
lea ecx, [esp + 0x6dd]
movsd xmm0, qword [esp + 0x2d0]
lea ebx, [esp + 0x890]
lea esi, [esp + 0x6b0]
movsd xmm2, qword [ecx]
mov edi, ebx
movsd qword [esp + 0x4a0], xmm1
mov byte [esp + 8], al
mov eax, dword [ecx + 0xf]
movsd xmm1, qword [ecx + 8]
movsd qword [esp + 0x498], xmm0
mov ecx, 0xb
movsd qword [esp + 0x470], xmm2
mov dword [esp + 0x47f], eax
movsd qword [esp + 0x478], xmm1
rep movsd dword es:[edi], dword [esi]
mov al, byte [esp + 0x6f4]
mov ecx, dword [esp + 0x6f0]
mov byte [esp + 0x54], al
call fcn.0041ff9c
lea ecx, [esp + 0x7a0]
mov edx, ebx
call fcn.00418726
mov eax, dword [esp + 0x7b8]
test eax, eax
je 0x43f561
mov dword [esp + 0xa0], eax
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x7bc]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0xa0]
movsd qword [eax + 0xc], xmm1
movsd qword [eax + 4], xmm0
mov eax, 0
mov ebx, dword [esp + 0xa8]
mov edi, dword [esp + 0xa4]
cmp ebx, 1
mov esi, ebx
mov dword [esp + 0x8c], edi
adc esi, eax
test ebx, ebx
mov eax, 0x52d31c
cmove edi, eax
mov ecx, esi
xor edx, edx
call fcn.00437354
mov dword [esp + 0x88], eax
mov dword [esp + 0x2f0], edx
push esi
push edi
lea edi, [esp + 0xa8]
push edx
call fcn.004e4d00
add esp, 0xc
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x2f0]
lea edx, [esp + 0x190]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], esi
lea esi, [esp + 0x2e0]
mov ecx, esi
call fcn.00403224
push ebx
push dword [esp + 0x90]
lea eax, [esp + 0xb4]
push eax
mov eax, dword [esp + 0x58]
call dword [eax + 0xc]
add esp, 0xc
xor eax, eax
mov ecx, esi
mov dword [esp + 0xa0], 0x4ff3bc
mov dword [esp + 0xa4], str.C:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001fzip_0.6.6_src_aes.rs
cmp dword [esp + 0x2e0], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
cmove ecx, edi
jmp 0x43f590
lea edi, [esp + 0xa0]
xor eax, eax
mov dword [esp + 0xa0], 0x4ff3bc
mov dword [esp + 0xa4], str.C:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001fzip_0.6.6_src_aes.rs
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov ecx, edi
mov bl, byte [esp + 8]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
lea esi, [esp + 0x1d4]
movzx eax, bl
movsd qword [esp + 0x1d0], xmm1
movsd qword [esp + 0x1c8], xmm0
test eax, eax
je 0x43f5d0
cmp eax, 7
je 0x43f5d0
cmp dword [esp + 0x1d0], 0
je 0x43fcfe
mov eax, dword [esp + 0x1c8]
test eax, eax
je 0x43f631
mov ecx, dword [esi]
movsd xmm0, qword [esi - 8]
lea edx, [esp + 0x2e4]
mov dword [esp + 0x2e0], eax
mov dword [edx + 8], ecx
movsd qword [edx], xmm0
cmp dword [esp + 0x2e8], 0
je 0x43f61a
mov ecx, dword [esi]
movsd xmm0, qword [esi - 8]
mov dword [esp + 0x198], ecx
movsd qword [esp + 0x190], xmm0
jmp 0x43f633
push 0
push dword [esp + 0x2e8]
lea ecx, [esp + 0x2f4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
xor eax, eax
mov ecx, dword [esp + 0x47f]
movsd xmm1, qword [esp + 0x478]
movq xmm0, qword [esp + 0x470]
mov byte [esp + 0xa0], bl
mov bl, byte [esp + 0x7a0]
movsd xmm2, qword [esp + 0x498]
mov dword [edi + 0x10], ecx
movsd qword [edi + 9], xmm1
movsd xmm1, qword [esp + 0x190]
xor ecx, ecx
movq qword [edi + 1], xmm0
cmp bl, 3
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x198]
movsd qword [edi + 0x38], xmm1
movsd xmm1, qword [esp + 0x4a0]
mov dword [edi + 0x40], eax
mov al, 3
movsd qword [edi + 0x44], xmm2
mov dword [esp + 8], eax
movsd qword [edi + 0x4c], xmm1
mov word [esp + 0xf4], 0
je 0x43f6f5
mov ecx, dword [esp + 0x7a0]
mov eax, dword [esp + 0x7a4]
lea edx, [esp + 0x3a8]
mov dword [esp + 8], ecx
mov dword [esp + 0x3a8], ecx
mov ecx, edi
mov dword [esp + 0x3ac], eax
call fcn.0040f528
cmp dword [esp + 0x7a8], 0
je 0x43f7f6
lea eax, [esp + 0x7bc]
mov byte [esp + 0x8c], bl
xor edx, edx
movsd xmm0, qword [eax - 0x14]
movsd xmm1, qword [eax - 0xc]
movsd qword [esp + 0x198], xmm1
movsd qword [esp + 0x190], xmm0
mov esi, dword [esp + 0x198]
mov ebx, dword [esp + 0x194]
mov ecx, esi
call fcn.00437354
mov dword [esp + 0x88], eax
mov edi, edx
push esi
mov dword [esp + 0x50], ebx
push ebx
push edx
call fcn.004e4d00
add esp, 0xc
mov eax, dword [esp + 0x88]
lea ecx, [esp + 0x2e0]
lea edx, [esp + 0x464]
mov dword [esp + 0x464], eax
mov dword [esp + 0x468], edi
mov dword [esp + 0x46c], esi
call fcn.00403224
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x43f7b2
push dword [esp + 0xcc]
push dword [esp + 0xcc]
lea ecx, [esp + 0xd8]
push ecx
call dword [eax + 0xc]
add esp, 0xc
movq xmm0, qword [esp + 0x2e0]
movsd xmm1, qword [esp + 0x2e8]
lea eax, [esp + 0xa0]
movsd qword [eax + 0x2c], xmm1
movq qword [eax + 0x24], xmm0
mov eax, dword [esp + 0x190]
push esi
push dword [esp + 0x50]
lea ecx, [esp + 0x1a4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov bl, byte [esp + 0x8c]
mov ecx, 0x16
lea edi, [esp + 0x7f8]
lea esi, [esp + 0xa0]
cmp bl, 3
rep movsd dword es:[edi], dword [esi]
jne 0x43f82a
cmp byte [esp + 8], 3
je 0x43f82a
mov ecx, dword [esp + 0x7a0]
mov edx, dword [esp + 0x7a4]
call fcn.004186d9
mov eax, dword [esp + 0x80c]
mov ebx, dword [ebp + 8]
or eax, dword [esp + 0x81c]
jne 0x43f89b
cmp byte [esp + 0x54], 3
mov esi, dword [esp]
mov edi, dword [esp + 0x18]
jne 0x43f872
lea ecx, [esp + 0x7f8]
call fcn.0040c70b
lea ecx, [esp + 0x670]
call fcn.0040f95c
mov byte [esp + 0x3c], 7
mov byte [esp + 8], 3
jmp 0x43f9af
lea ecx, [esp + 0x7f8]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 1
call fcn.0040f528
mov al, byte [esp + 0x50]
lea ebx, [esp + 0x7a0]
mov ecx, 0x16
lea esi, [esp + 0x7f8]
mov edi, ebx
and al, byte [esp + 0x16]
mov byte [esp + 0x50], al
lea eax, [esp + 0x670]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xa0]
mov edx, dword [esp + 0x3c]
mov ecx, esi
push eax
push ebx
call fcn.0040d5b8
add esp, 8
cmp byte [esp + 0x50], 0
je 0x43f8eb
or byte [esp + 0x14c], 1
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0xa0]
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x54], eax
mov al, byte [esp + 0xa8]
mov byte [esp + 8], al
mov al, byte [esp + 0xa9]
mov byte [esp + 0x3c], al
movzx eax, word [esp + 0xaa]
mov word [esp + 0x44], ax
movzx eax, word [esi + 0x1d]
mov word [esp + 0x48], ax
mov al, byte [esi + 0x1f]
mov esi, dword [esp + 0xb0]
mov byte [esp + 0x4a], al
mov al, byte [esp + 0xbc]
mov byte [esp + 0x15], al
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x94], eax
push 0x90
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x3b8]
push eax
call fcn.004e4d00
add esp, 0xc
mov eax, edi
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0x1dc], ebx
mov dword [esp + 0x1d8], esi
xor eax, 3
or eax, edi
jne 0x43fa5b
mov esi, dword [esp]
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x18]
mov al, byte [esp + 0x4a]
movzx ecx, word [esp + 0x48]
mov byte [esp + 0x2e], al
mov al, byte [esp + 0x200]
mov word [esp + 0x2c], cx
mov ecx, eax
add cl, 0xfa
cmp cl, 6
jb 0x43f9e8
add al, 0xfd
cmp al, 2
ja 0x43f9dc
cmp al, 1
jne 0x43f9e8
lea ecx, [esp + 0x200]
call fcn.0040fc9d
mov eax, dword [esp + 0x220]
test eax, eax
je 0x43fa00
push dword [esp + 0x224]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x230]
test eax, eax
je 0x43fa18
push dword [esp + 0x234]
call dword [eax + 0xc]
add esp, 4
mov al, byte [esp + 0x15]
mov ecx, dword [esp + 0x1dc]
mov edx, dword [esp + 0x1d8]
mov byte [esp + 7], al
mov eax, dword [esp + 0x94]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], eax
movzx eax, word [esp + 0x44]
mov dword [esp + 0x58], ecx
mov word [esp + 0x46], ax
jmp 0x43fc62
mov eax, dword [esp + 0x40]
add eax, 0x10
mov dword [esp + 0x4c], eax
mov al, byte [esp + 0x4a]
mov byte [esp + 0x6e], al
movzx eax, word [esp + 0x48]
mov word [esp + 0x6c], ax
push 0x90
lea eax, [esp + 0x3b4]
push eax
lea eax, [esp + 0x320]
push eax
call fcn.004e4d00
add esp, 0xc
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2fc], edi
lea ecx, [esp + 0x2f9]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x2f8], eax
mov al, byte [esp + 8]
mov byte [esp + 0x300], al
mov al, byte [esp + 0x3c]
mov byte [esp + 0x301], al
movzx eax, word [esp + 0x44]
mov word [esp + 0x302], ax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x304], ebx
mov dword [esp + 0x308], esi
mov ebx, dword [esp + 0x2ac]
lea esi, [edi + 0x158]
mov dword [esp + 0x30c], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x310], eax
mov al, byte [esp + 0x15]
mov byte [esp + 0x314], al
mov al, byte [esp + 0x6e]
mov byte [ecx + 0x1e], al
movzx eax, word [esp + 0x6c]
mov word [ecx + 0x1c], ax
push 0xf0
lea eax, [esp + 0x1e4]
push eax
lea eax, [esp + 0xa8]
push eax
call fcn.004e4d00
add esp, 0xc
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x3b0]
mov edx, esi
push eax
push ebx
call fcn.00411e54
add esp, 8
mov ecx, dword [esp + 0x2f4]
lea eax, [edi + 0xe0]
lea edx, [esp + 0x2f8]
push eax
push dword [edi + 0x34]
lea esi, [esp + 0x3b8]
push esi
push dword [esp + 0x58]
call fcn.0047fcd0
add esp, 0x10
cmp al, 0xc
jne 0x43fc35
inc dword [edi + 0x1a0]
mov ecx, dword [esp + 0x70]
mov eax, dword [edi + 0x10]
mov edi, dword [edi + 0x14]
mov dword [esp + 0x10], eax
lock inc dword [ecx]
jle 0x441568
mov eax, dword [esp + 0x3b0]
mov esi, dword [esp + 0x3b8]
mov ebx, dword [esp + 0x3b4]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x38]
mov dword [esp + 0x58], esi
push esi
mov dword [esp + 0x60], ebx
push ebx
call fcn.004109f3
add esp, 8
mov ecx, dword [eax + 0xd0]
cmp ecx, 0xffffffff
je 0x44156a
mov ebx, dword [esp + 0x40]
inc ecx
mov dword [eax + 0xd0], ecx
lock inc dword [ebx]
mov esi, dword [esp + 0x1c]
jle 0x441568
inc edi
movzx edx, byte [esp + 0x64]
mov ecx, dword [esp + 0x74]
cmp dword [esp + 0x10], edi
setbe byte [esp + 7]
call fcn.00422a70
movzx edx, byte [esp + 0x17]
mov ecx, esi
call fcn.00422a70
mov edx, dword [esp + 0x70]
mov cl, byte [esp + 0x24]
mov dword [esp + 0x60], ebx
jmp 0x43fc9f
mov ecx, dword [esp + 0x3b0]
mov edx, dword [esp + 0x3b8]
mov byte [esp + 0x3c], al
call fcn.004125ec
mov ecx, esi
call fcn.004124e1
mov esi, dword [esp]
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x18]
mov byte [esp + 8], 3
movzx edx, byte [esp + 0x64]
mov ecx, dword [esp + 0x74]
call fcn.00422a70
movzx edx, byte [esp + 0x17]
mov ecx, dword [esp + 0x1c]
call fcn.00422a70
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
cmp byte [esp + 8], 4
mov cl, byte [esp + 0x3c]
mov dword [esp + 0x40], edx
mov edx, eax
mov dword [esp + 0x70], eax
jne 0x43eec6
mov eax, dword [esp + 0x70]
mov dword [esp + 0x10], edx
mov dl, byte [esp + 7]
mov byte [esp + 0x24], cl
lea ecx, [esp + 0x1b4]
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x1c], dl
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c0], eax
movzx eax, word [esp + 0x2c]
mov byte [esp + 0x1c4], dl
mov word [ecx + 0x11], ax
mov ah, byte [esp + 0x2e]
mov byte [ecx + 0x13], ah
jmp 0x43ef75
mov eax, dword [esp + 0x1c8]
xor ebx, ebx
push ebx
push dword [esp + 0x1d0]
push esi
call dword [eax + 0xc]
add esp, 0xc
mov dword [esp + 0x1c8], 0x4ff3bc
mov dword [esp + 0x1cc], 0x52d31c
mov dword [esp + 0x1d0], 1
mov dword [esp + 0x1d4], ebx
mov bl, byte [esp + 8]
mov eax, 0x4ff3bc
jmp 0x43f5db
lea eax, [esi + 0x118]
mov dword [esp + 0x28], eax
lea eax, [esi + 0x60]
mov dword [esp + 0x20], eax
lea eax, [esi + 0x129]
mov dword [esp + 0x9c], eax
lea eax, [esi + 0x100]
mov dword [esp + 0x18], eax
lea eax, [esi + 0xb8]
mov dword [esp + 0x24], eax
lea eax, [esi + 0xa8]
mov dword [esp + 0x30], eax
lea eax, [esi + 0x10c]
mov dword [esp + 0x68], eax
xor eax, eax
cmp eax, 0x10
je 0x441182
mov dword [esp + 0x98], eax
cmp byte [esi + 0x130], 0
jne 0x440292
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
or ecx, eax
jne 0x43fde9
mov edx, dword [esp + 0x20]
mov esi, 3
mov ecx, dword [edx]
mov edx, dword [edx + 4]
add ecx, 0xfffffffe
adc edx, 0xffffffff
cmp esi, ecx
mov esi, 0
sbb esi, edx
mov esi, dword [esp]
jb 0x43fedd
test ecx, ecx
jne 0x43fedd
mov cl, byte [esi + 0x128]
mov byte [esi + 0x128], 3
cmp cl, 3
je 0x4400d0
mov edx, dword [esp + 0x28]
dec eax
lea edi, [esp + 0x309]
cmp eax, 1
movq xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
mov edx, dword [esp + 0x9c]
movsd qword [esp + 0x300], xmm1
movq qword [esp + 0x2f8], xmm0
mov byte [esp + 0x308], cl
mov cl, byte [edx + 2]
movzx edx, word [edx]
mov byte [edi + 2], cl
mov word [edi], dx
ja 0x4400bf
lea ecx, [esp + 0x2f8]
mov edx, ebx
call fcn.00420790
test eax, eax
jne 0x4401a1
mov esi, edx
test edx, edx
je 0x43fefd
mov edx, dword [esp]
mov eax, dword [edx + 0x40]
xor eax, 1
or eax, dword [edx + 0x44]
jne 0x43fe85
mov dword [edx + 0x44], 0
mov dword [edx + 0x40], 2
lea ecx, [esp + 0xa0]
push ebx
call fcn.0048337c
add esp, 4
mov eax, dword [esp + 0xa0]
cmp eax, 2
je 0x43ffb7
test eax, eax
je 0x43ffb7
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x43ffa4
push dword [esp + 0xac]
push dword [esp + 0xac]
lea ecx, [esp + 0xb8]
push ecx
call dword [eax + 0xc]
add esp, 0xc
jmp 0x43ffb7
mov ecx, esi
mov edx, ebx
call fcn.00468dc4
test eax, eax
jne 0x440292
mov edi, edx
test edx, edx
je 0x43fda4
jmp 0x440281
mov esi, dword [esp]
lea ecx, [esp + 0x1e0]
mov edx, esi
push ebx
call fcn.0048337c
add esp, 4
mov eax, dword [esp + 0x1e0]
test eax, eax
je 0x4400bf
cmp eax, 1
jne 0x4401a4
cmp dword [esp + 0x1e4], 0
je 0x43fff9
lea eax, [esp + 0x1e4]
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x300]
push eax
call fcn.00421cab
add esp, 4
cmp byte [esp + 0xb0], 2
jne 0x44004c
cmp byte [esi + 0x128], 3
je 0x43ff76
mov ecx, dword [esp + 0x28]
call fcn.00441775
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x28]
movq xmm0, qword [esp + 0x2f8]
movsd xmm1, qword [esp + 0x300]
mov dword [ecx + 0x10], eax
movsd qword [ecx + 8], xmm1
movq qword [ecx], xmm0
jmp 0x43fda4
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
call fcn.00484178
mov eax, dword [esp]
mov eax, dword [eax + 0x40]
test eax, eax
je 0x43ffde
cmp eax, 3
je 0x43ffde
mov eax, dword [esp]
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 4
mov byte [eax + 0xa4], 2
mov ecx, esi
call fcn.00459200
lea ecx, [esp + 0x2f8]
call fcn.00441775
mov esi, dword [esp]
jmp 0x43fda4
mov ecx, dword [esp + 0x1ec]
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x4ac], ecx
mov ecx, 8
mov dword [esp + 0x4a8], eax
call fcn.0041ed3d
mov ecx, eax
lea edx, [esp + 0x4a8]
mov esi, eax
call fcn.0041ee2e
mov ecx, dword [esp + 0x300]
mov edx, dword [esp + 0x308]
push esi
mov esi, dword [esp + 4]
call fcn.00420829
add esp, 4
jmp 0x4400bf
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
test eax, eax
je 0x4413c5
mov esi, dword [esp + 0xac]
mov edi, dword [esp]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xac], esi
mov esi, dword [edi + 0x40]
mov dword [esp + 0xa8], edx
dec esi
cmp esi, 2
mov esi, edi
jae 0x4400af
mov dword [esi + 0x44], 0
mov dword [esi + 0x40], 4
mov byte [esi + 0xa4], 2
push edx
push ecx
lea ecx, [esp + 0xb4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
lea ecx, [esp + 0x2f8]
call fcn.00441775
jmp 0x43fda4
mov ecx, eax
and cl, 7
cmp cl, 4
je 0x440292
and eax, 7
jne 0x44011a
mov ecx, dword [esp + 0x20]
mov edx, 3
mov edi, 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, 0xfffffffe
adc ecx, 0xffffffff
cmp edx, eax
sbb edi, ecx
jb 0x44011a
test eax, eax
jne 0x44011a
cmp dword [esi + 0xec], 0
je 0x4401e4
mov ecx, 3
jmp 0x440195
cmp byte [esi + 0x98], 0
jne 0x440292
cmp dword [esi + 0xec], 0
jne 0x440292
lea ecx, [esp + 0x1e0]
mov edx, esi
push ebx
call fcn.00483308
add esp, 4
cmp byte [esp + 0x1e0], 5
mov esi, 1
je 0x440283
mov ecx, dword [esp + 0x1e0]
mov eax, dword [esp + 0x1e4]
cmp cl, 4
jne 0x440259
mov esi, dword [esp]
test eax, eax
jne 0x440292
mov dword [esi + 0x44], 0
mov dword [esi + 0x40], 4
mov byte [esi + 0xa4], 2
mov ecx, 2
call fcn.0041ed3d
mov edi, eax
jmp 0x440281
mov esi, dword [esp]
cmp byte [esi + 0x128], 3
je 0x4401b6
mov ecx, dword [esp + 0x28]
call fcn.00441775
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x28]
movq xmm0, qword [esp + 0x2f8]
movsd xmm1, qword [esp + 0x300]
mov dword [ecx + 0x10], eax
movsd qword [ecx + 8], xmm1
movq qword [ecx], xmm0
jmp 0x440292
lea ecx, [esp + 0x1e0]
mov edx, esi
push ebx
call fcn.00483308
add esp, 4
cmp byte [esp + 0x1e0], 5
mov esi, 1
je 0x440283
mov ecx, dword [esp + 0x1e0]
mov eax, dword [esp + 0x1e4]
cmp cl, 4
jne 0x440259
test eax, eax
jne 0x440113
mov eax, dword [esp]
xor esi, esi
mov edi, 0
cmp byte [eax + 0xa4], 0
je 0x44023f
mov ecx, 2
call fcn.0041ed3d
mov edi, eax
mov eax, dword [esp]
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 4
mov byte [eax + 0xa4], 2
jmp 0x440283
mov dword [esp + 0xa0], ecx
mov ecx, 6
mov dword [esp + 0xa4], eax
call fcn.0041ed3d
mov ecx, eax
lea edx, [esp + 0xa0]
mov edi, eax
call fcn.0041ee2e
xor esi, esi
test esi, esi
mov esi, dword [esp]
jne 0x440292
test edi, edi
jne 0x44109c
cmp byte [esi + 0x130], 0
je 0x4402d3
mov ecx, esi
mov edx, ebx
call fcn.004684d4
test eax, eax
jne 0x4402b2
mov edi, edx
test edx, edx
jne 0x44109c
mov eax, dword [esp + 0x98]
inc eax
cmp byte [esi + 0xa3], 0
mov byte [esi + 0xa3], 0
jne 0x43fd94
jmp 0x441191
mov eax, dword [esi + 0x12c]
mov edi, dword [eax]
mov dword [esp + 0xc], eax
test edi, edi
jne 0x4402ee
mov eax, dword [esi + 0x40]
xor eax, 4
or eax, dword [esi + 0x44]
jne 0x440352
cmp byte [esi + 0xf8], 0
jne 0x44046c
cmp byte [esi + 0xcc], 0
je 0x4403bf
mov ebx, dword [esi + 0xc4]
cmp ebx, 0xf
ja 0x440756
xor eax, eax
test ebx, ebx
je 0x440402
mov ecx, dword [esi + 0xb8]
mov eax, dword [esi + 0xc0]
mov esi, 0
cmp eax, ecx
mov edx, ecx
cmovb edx, esi
mov esi, ecx
sub eax, edx
mov edx, ebx
sub esi, eax
sub edx, esi
ja 0x440406
add ebx, eax
mov ecx, ebx
jmp 0x440404
mov ecx, dword [esp + 0x20]
mov edx, 3
mov ebx, 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, 0xfffffffe
adc ecx, 0xffffffff
cmp edx, eax
sbb ebx, ecx
jb 0x4402ee
test eax, eax
jne 0x4402ee
mov edx, dword [esi + 0xc4]
xor eax, eax
test edx, edx
je 0x440779
mov ecx, dword [esi + 0xb8]
mov eax, dword [esi + 0xc0]
mov ebx, 0
cmp eax, ecx
mov esi, ecx
cmovb esi, ebx
mov ebx, edx
sub eax, esi
mov esi, ecx
sub esi, eax
sub ebx, esi
ja 0x4403b7
add edx, eax
xor ebx, ebx
mov ecx, edx
mov esi, dword [esp]
jmp 0x44077d
mov ebx, dword [esi + 0xc4]
xor eax, eax
test ebx, ebx
je 0x4406f3
mov eax, esi
mov esi, dword [esi + 0xb8]
mov ecx, 0
mov eax, dword [eax + 0xc0]
mov edx, esi
cmp eax, esi
cmovb edx, ecx
mov ecx, esi
sub eax, edx
mov edx, ebx
sub ecx, eax
sub edx, ecx
ja 0x4406f7
add ebx, eax
mov esi, ebx
jmp 0x4406f5
xor ecx, ecx
xor edx, edx
mov esi, dword [esp]
lea eax, [eax + eax*4]
mov esi, dword [esi + 0xbc]
lea eax, [esi + eax*8]
mov dword [esp + 0xa0], eax
lea eax, [ecx + ecx*4]
lea ecx, [esp + 0xa0]
lea eax, [esi + eax*8]
mov dword [esp + 0xa4], eax
lea eax, [edx + edx*4]
mov dword [esp + 0xa8], esi
lea eax, [esi + eax*8]
mov dword [esp + 0xac], eax
mov eax, dword [esp]
mov esi, dword [eax + 0xb0]
mov eax, dword [esp]
sub esi, dword [eax + 0xb4]
call fcn.0045b782
add eax, esi
mov esi, dword [esp]
cmp eax, dword [esi + 0xc8]
jae 0x440756
mov ecx, dword [esp + 0x20]
mov edx, 3
mov ebx, 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, 0xfffffffe
adc ecx, 0xffffffff
cmp edx, eax
sbb ebx, ecx
setb cl
cmp eax, 1
sete al
or al, cl
test edi, edi
je 0x440a36
mov edi, dword [esp + 0xc]
mov ebx, dword [ebp + 8]
test al, al
lea edx, [edi + 4]
je 0x44058e
lea ecx, [esp + 0xa0]
mov dword [esp + 0x38], edx
push ebx
call fcn.0045b6a6
add esp, 4
cmp dword [esp + 0xa0], 2
je 0x44029b
movq xmm0, qword [esp + 0xa0]
mov eax, dword [esp + 0xb0]
movsd xmm1, qword [esp + 0xa8]
movq qword [esp + 0x550], xmm0
mov dword [esp + 0x560], eax
movsd qword [esp + 0x558], xmm1
cmp dword [esp + 0x550], 0
je 0x440a55
mov eax, dword [esp + 0x554]
mov ebx, dword [esp + 0x558]
test eax, eax
je 0x44106b
mov ecx, dword [esp + 0x560]
mov edi, dword [esp + 0x55c]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3b4], ebx
mov dword [esp + 0x3b8], edi
mov dword [esp + 0x3bc], ecx
cmp dword [eax], 0
je 0x4405ad
mov eax, dword [esp + 0xc]
mov ebx, dword [ebp + 8]
cmp dword [eax + 0xc], 0
je 0x4405cb
test edi, edi
jne 0x440a86
mov eax, dword [esp + 0x3b0]
push 0
push dword [esp + 0x3b8]
lea ecx, [esp + 0x3c4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
jmp 0x44059b
mov ecx, edx
call fcn.00458e8f
mov dword [edi], 0
cmp byte [esi + 0x130], 0
je 0x4402d3
jmp 0x44029b
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0xc]
push dword [ecx + 8]
call dword [eax + 0x14]
add esp, 4
mov edi, dword [esp + 0x3b8]
mov ebx, dword [ebp + 8]
test al, al
je 0x440566
test edi, edi
je 0x440b1c
mov ecx, dword [esp + 0x20]
mov ebx, 3
movq xmm0, qword [esp + 0x3b0]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
movq qword [esp + 0x670], xmm0
mov edx, eax
mov esi, ecx
add edx, 0xfffffffe
adc esi, 0xffffffff
cmp ebx, edx
mov ebx, 0
sbb ebx, esi
mov ebx, dword [esp + 0x3bc]
jb 0x440618
cmp edx, 1
jne 0x441452
mov esi, dword [esp]
or eax, ecx
je 0x440c77
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
xor eax, eax
mov edx, ebx
mov dword [esp + 0x1c], ebx
xor edx, edi
or edx, ecx
mov edx, 0
setne al
cmp edi, ebx
sbb edx, ecx
mov edx, 0xff
cmovb eax, edx
test al, al
je 0x440d1b
mov edx, dword [esp + 0x10]
movzx eax, al
cmp eax, 1
jne 0x440d6f
mov eax, dword [esp + 0x3b4]
mov ecx, dword [esp + 0x3b0]
cmp byte [esi + 0xcc], 0
mov dword [esp + 0x4ac], eax
mov dword [esp + 0x4a8], ecx
mov dword [esp + 0x4b0], edi
mov dword [esp + 0x4b4], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x4b8], edx
je 0x440e43
mov eax, dword [esp + 0x4b8]
movq xmm0, qword [esp + 0x4a8]
movsd xmm1, qword [esp + 0x4b0]
lea ecx, [esp + 0xac]
lea edx, [esp + 0xa0]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm1
movq qword [ecx - 8], xmm0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xa0], 1
call fcn.00481bcc
jmp 0x440d59
xor esi, esi
xor edx, edx
mov ebx, dword [esp]
lea eax, [eax + eax*4]
mov ecx, dword [ebx + 0xbc]
lea eax, [ecx + eax*8]
mov dword [esp + 0xa0], eax
lea eax, [esi + esi*4]
mov esi, dword [ebx + 0xb0]
lea eax, [ecx + eax*8]
mov dword [esp + 0xa4], eax
lea eax, [edx + edx*4]
mov dword [esp + 0xa8], ecx
lea eax, [ecx + eax*8]
lea ecx, [esp + 0xa0]
sub esi, dword [ebx + 0xb4]
mov dword [esp + 0xac], eax
call fcn.0045b782
add eax, esi
mov esi, ebx
cmp eax, dword [ebx + 0xc8]
jb 0x44046c
mov ebx, dword [ebp + 8]
mov ecx, esi
mov edx, ebx
call fcn.004684d4
test eax, eax
jne 0x44029b
mov edi, edx
test edx, edx
je 0x44059b
jmp 0x44109c
xor ecx, ecx
xor ebx, ebx
mov edx, dword [esi + 0xbc]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea esi, [ebx + ebx*4]
lea eax, [edx + eax*8]
lea ecx, [edx + ecx*8]
lea esi, [edx + esi*8]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], esi
mov esi, dword [esp]
lea ecx, [esp + 0xa0]
call fcn.0045b782
test eax, eax
jne 0x4402ee
cmp dword [esi + 0x100], 2
jne 0x4402ee
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x68]
lea ebx, [esp + 0xa0]
mov ecx, ebx
push dword [edi]
call fcn.00458ccb
add esp, 4
mov eax, dword [esp + 0xa0]
mov ecx, eax
and cl, 7
cmp cl, 3
je 0x440fb3
cmp eax, 4
je 0x440ff5
mov edi, esi
push 0x98
push ebx
lea esi, [esp + 0x1e8]
push esi
call fcn.004e4d00
add esp, 0xc
lea ecx, [esp + 0x138]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 8]
movq xmm0, qword [ecx]
mov dword [esp + 0x720], eax
movq qword [esp + 0x718], xmm0
call fcn.00458aba
test al, al
je 0x440fbc
mov ecx, 0x20
lea edi, [esp + 0x4a8]
lea edx, [esp + 0x69c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x514]
lea esi, [esp + 0x4e8]
mov eax, dword [esp + 0x260]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov dword [esp + 0xc], eax
mov al, byte [esp + 0x264]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
mov byte [esp + 0x38], al
mov eax, dword [ecx + 0x10]
mov ecx, 0xb
mov dword [edx + 0x10], eax
lea eax, [esp + 0x670]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x1ec]
lea edi, [esp + 0x550]
mov ecx, dword [esp + 0x1e8]
mov ebx, dword [esp + 0x1e0]
mov edx, dword [esp + 0x1e4]
mov dword [esp + 0x10], ecx
mov ecx, 0xd
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x10
mov esi, eax
lea edi, [esp + 0x584]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x18]
cmp dword [esi], 2
je 0x440906
mov ecx, esi
mov edi, edx
call fcn.00458e01
mov edx, edi
lea ecx, [esp + 0x138]
lea edi, [esp + 0x3b0]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
mov ecx, 0x1d
mov dword [esi + 8], eax
mov eax, ebx
movsd qword [esi], xmm0
lea esi, [esp + 0x550]
xor eax, 4
rep movsd dword es:[edi], dword [esi]
or eax, edx
lea eax, [esp + 0x1e4]
mov esi, dword [esp]
movq xmm0, qword [eax + 0x84]
movsd xmm1, qword [eax + 0x8c]
lea eax, [esp + 0x5eb]
movsd qword [eax + 8], xmm1
movq qword [eax], xmm0
je 0x440ff5
mov eax, ebx
xor eax, 3
or eax, edx
je 0x440fd1
mov eax, dword [esp + 0x5f7]
movsd xmm0, qword [esp + 0x5e8]
movsd xmm1, qword [esp + 0x5f0]
mov dword [esp + 0x2f8], ebx
mov dword [esp + 0x2fc], edx
mov ecx, 0x1d
lea edi, [esp + 0x304]
lea esi, [esp + 0x3b0]
mov dword [esp + 0xaf], eax
mov eax, dword [esp + 0x10]
movsd qword [esp + 0xa8], xmm1
movsd qword [esp + 0xa0], xmm0
mov dword [esp + 0x300], eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xac]
movq xmm0, qword [ecx - 9]
mov eax, dword [esp + 0xc]
movsd xmm1, qword [ecx - 1]
mov dl, byte [esp + 0x38]
movq qword [esp + 0x1e0], xmm0
mov dword [esp + 0x378], eax
mov byte [esp + 0x37c], dl
movsd qword [esp + 0x1e8], xmm1
cmp dword [esp + 0x1e0], 0
je 0x440dd2
mov eax, dword [esp + 0x1e8]
mov esi, dword [esp]
mov edi, dword [esp + 8]
test eax, eax
jne 0x440ecc
jmp 0x440dfc
mov ebx, dword [ebp + 8]
test al, al
je 0x44029b
mov ecx, esi
call fcn.0048419b
test eax, eax
je 0x44059b
jmp 0x44125d
mov ecx, esi
call fcn.0048419b
mov edi, eax
test eax, eax
mov eax, dword [esp + 0x550]
jne 0x4412e6
test eax, eax
je 0x440b4e
lea ecx, [esp + 0x554]
call fcn.0045b648
jmp 0x440b4e
mov ecx, dword [esp + 0x20]
mov ebx, 3
movq xmm0, qword [esp + 0x3b0]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
movq qword [esp + 0x4a8], xmm0
mov edx, eax
mov esi, ecx
add edx, 0xfffffffe
adc esi, 0xffffffff
cmp ebx, edx
mov ebx, 0
sbb ebx, esi
mov ebx, dword [esp + 0x3bc]
mov dword [esp + 0xc], ebx
jb 0x440acf
cmp edx, 1
jne 0x441411
mov esi, dword [esp]
or eax, ecx
lea ebx, [esp + 0xa0]
je 0x440b57
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
cmp eax, edi
mov edx, ecx
sbb edx, 0
jae 0x440ba4
xor ecx, ecx
mov edx, dword [esp + 0x3b4]
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], ecx
mov ecx, dword [esp + 0x3b0]
mov dword [esp + 0x1e4], edx
mov dword [esp + 0x1e0], ecx
xor ecx, ecx
inc ecx
jmp 0x440bcd
mov ecx, esi
call fcn.0048419b
test eax, eax
jne 0x44134a
mov eax, dword [esp + 0x3b0]
push dword [esp + 0x3b8]
push dword [esp + 0x3b8]
lea ecx, [esp + 0x3c4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov edi, dword [esp + 0xc]
jmp 0x440dc0
mov ecx, ebx
mov edx, edi
call fcn.0042165a
mov ecx, dword [esp + 0x4ac]
mov eax, dword [esp + 0x4a8]
mov edx, ebx
mov ebx, esi
mov dword [esp + 0x1e4], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x10], ecx
mov ecx, 2
jmp 0x440bd6
sub eax, edi
sbb ecx, 0
mov dword [esi + 0x68], eax
mov eax, dword [esp + 0x3b0]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], ecx
xor ecx, ecx
mov ebx, esi
lea edx, [esp + 0xa0]
mov esi, dword [esp + 0x1e4]
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0x1e0]
mov dword [esp + 0xa4], esi
mov esi, dword [esp + 0xc]
mov dword [esp + 0xac], edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0xb0], esi
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc0], str._r_nC:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001f_reqwest_0.11.27_src_async_impl_response.rs
mov dword [esp + 0xc4], 2
call fcn.00481cc8
mov eax, dword [ebx + 0x60]
mov esi, ebx
or eax, dword [ebx + 0x64]
je 0x440c6f
mov eax, dword [esi + 0x6c]
or eax, dword [esi + 0x68]
jne 0x440c6f
cmp byte [esi + 0x70], 1
mov eax, 5
mov dword [esi + 0x64], 0
sbb eax, 0
mov dword [esi + 0x60], eax
mov ebx, dword [ebp + 8]
jmp 0x44059b
lea ecx, [esp + 0xb0]
mov edx, edi
call fcn.0042165a
mov eax, dword [esp + 0x670]
mov ecx, dword [esp + 0x674]
lea edx, [esp + 0x1e0]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], ebx
mov ecx, dword [esp + 0x30]
movq xmm0, qword [esp + 0xb0]
mov eax, dword [esp + 0xb8]
movsd xmm2, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0xa0]
movq qword [esp + 0x1f0], xmm0
mov dword [esp + 0x1f8], eax
movsd qword [esp + 0x1e8], xmm2
movsd qword [esp + 0x1e0], xmm1
mov dword [esp + 0x1fc], 0x523ce4
mov dword [esp + 0x200], 7
call fcn.00481e94
jmp 0x440d59
mov ecx, dword [esp + 0x3b4]
mov eax, dword [esp + 0x3b0]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x30]
call fcn.00481c4c
mov ebx, dword [ebp + 8]
cmp byte [esi + 0x70], 0
mov edi, dword [esp + 0xc]
jne 0x440db0
xor eax, eax
mov ecx, 4
jmp 0x440db7
mov ecx, dword [esp + 0x3b4]
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], edx
lea edx, [esp + 0xa0]
call fcn.00481c4c
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0xc]
xor eax, eax
mov ecx, 5
mov edx, dword [esp + 0x20]
mov dword [edx], ecx
mov dword [edx + 4], eax
cmp dword [edi], 0
mov ecx, dword [esp + 0x38]
jne 0x440590
jmp 0x440595
mov eax, dword [esp + 0x1e8]
push dword [esp + 0x1e4]
call dword [eax + 0x14]
add esp, 4
mov esi, dword [esp]
mov edi, dword [esp + 8]
test al, al
lea ecx, [esp + 0xa0]
je 0x440eb7
mov esi, dword [esi + 0x12c]
mov ebx, dword [ebp + 8]
cmp dword [esi], 0
je 0x440e12
lea ecx, [esi + 4]
call fcn.00458e8f
xor eax, eax
lea edx, [esp + 0x2f8]
mov dword [esi], eax
mov esi, dword [esp]
mov ecx, esi
push dword [esp + 0x40]
push edi
push eax
push 2
call fcn.00482266
add esp, 0x10
lea ecx, [esp + 0x1e0]
call fcn.00458e8f
jmp 0x44059b
mov ecx, dword [esp + 0x30]
cmp edi, edx
cmovb edx, edi
call fcn.0042172d
mov eax, dword [esp + 0x1c]
mov ebx, dword [ebp + 8]
cmp edi, eax
cmovb eax, edi
test eax, eax
je 0x440e95
mov edx, dword [esp + 0x4ac]
mov ecx, dword [esp + 0x30]
push eax
mov edi, eax
call fcn.00402a58
add esp, 4
lea ecx, [esp + 0x4a8]
mov edx, edi
call fcn.00475990
mov edi, dword [esp + 0x4b0]
mov eax, dword [esp + 0x4b8]
jmp 0x440e58
mov eax, dword [esp + 0x4a8]
push edi
push dword [esp + 0x4b0]
lea ecx, [esp + 0x4bc]
push ecx
call dword [eax + 0xc]
add esp, 0xc
jmp 0x440d5c
cmp dword [esp + 0x1e0], 0
je 0x440f66
mov eax, dword [esp + 0x1e8]
xor ecx, ecx
mov edi, eax
xor edx, edx
xor eax, edi
xor ecx, edx
xor ebx, ebx
mov dword [esp + 0x40], edx
or ecx, eax
sete bl
movsd xmm0, qword [esp + 0x1e0]
movsd xmm1, qword [esp + 0x1e8]
mov esi, dword [esi + 0x12c]
movsd qword [esp + 0xa8], xmm1
movsd qword [esp + 0xa0], xmm0
cmp dword [esi], 0
je 0x440f18
lea ecx, [esi + 4]
call fcn.00458e8f
mov dword [esi], 1
xor eax, eax
test ebx, ebx
lea edx, [esp + 0x2f8]
movq xmm0, qword [esp + 0xa0]
movsd xmm1, qword [esp + 0xa8]
sete al
movq qword [esi + 4], xmm0
movsd qword [esi + 0xc], xmm1
mov esi, dword [esp]
mov ecx, esi
push dword [esp + 0x40]
mov dword [esp + 0xc], edi
push edi
push 0
push eax
call fcn.00482266
add esp, 0x10
jmp 0x440c6f
mov eax, dword [esp + 0x1e8]
push dword [esp + 0x1e4]
push ecx
call dword [eax + 0x18]
add esp, 8
mov eax, dword [esp + 0xa0]
or eax, dword [esp + 0xa4]
je 0x440fac
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0xb0]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
jmp 0x440ed2
xor ebx, ebx
jmp 0x440ee1
mov byte [esi + 0x114], 1
jmp 0x440fd1
lea ecx, [esp + 0x718]
call fcn.00458e01
mov ecx, esi
call fcn.00458e47
mov esi, edi
xor eax, eax
mov byte [esi + 0x130], 1
mov dword [esi + 0x40], 4
mov dword [esi + 0x44], eax
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], 5
mov byte [esi + 0xa4], 2
mov ebx, dword [ebp + 8]
jmp 0x44029b
cmp ebx, 6
je 0x4411a5
lea eax, [esp + 0x2f9]
mov ecx, dword [esi + 0x74]
mov byte [esp + 0x1e0], bl
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd qword [esp + 0x1e9], xmm1
movsd xmm1, qword [eax + 0xf]
movsd qword [esp + 0x1e1], xmm0
movsd qword [esp + 0x1f0], xmm1
call fcn.0041f754
test eax, eax
je 0x441155
mov ecx, dword [esp + 0x34]
mov dword [ecx], 2
mov dword [ecx + 4], eax
lea ecx, [esp + 0x1e0]
call fcn.0043b710
jmp 0x4411af
xor ecx, ecx
xor edx, edx
inc ecx
call fcn.0041ed3d
mov ecx, eax
mov edx, ebx
mov edi, eax
call fcn.004684a9
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
cmp dword [eax], 0
je 0x441092
call fcn.00458e8f
mov eax, dword [esp + 0xc]
mov dword [eax], 0
mov bl, byte [esi + 0x128]
mov byte [esi + 0x128], 3
cmp bl, 3
je 0x441121
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xa0]
movq xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movzx eax, word [esi + 0x129]
movsd qword [ecx + 8], xmm1
movq qword [ecx], xmm0
mov byte [ecx + 0x10], bl
mov word [ecx + 0x11], ax
mov al, byte [esi + 0x12b]
mov byte [ecx + 0x13], al
mov ecx, 8
call fcn.0041ed3d
mov esi, eax
mov ecx, eax
mov edx, 0x523ceb
push 0x10
call fcn.0041edb1
add esp, 4
lea eax, [esp + 0xa0]
movzx edx, bl
mov ecx, dword [eax + 8]
push esi
call fcn.00420829
add esp, 4
lea ecx, [esp + 0xa0]
call fcn.00441775
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0xa0]
mov dword [edx + 8], edi
mov dword [edx + 4], 0
mov dword [edx], 3
call fcn.0045953c
xor ecx, ecx
test eax, eax
setne cl
add ecx, ecx
mov edx, dword [esp + 0x34]
mov dword [edx], ecx
mov dword [edx + 4], eax
jmp 0x4411af
cmp ebx, 2
je 0x4411fb
cmp ebx, 1
lea eax, [esp + 0x1e4]
je 0x441202
test ebx, ebx
jne 0x441207
lea eax, [esp + 0x1e8]
jmp 0x441202
mov eax, dword [ebx]
mov ecx, dword [eax]
push dword [eax + 4]
call dword [ecx + 8]
add esp, 4
jmp 0x4411a5
cmp byte [esi + 0x130], 0
jne 0x4411b7
mov eax, dword [esi + 0x40]
xor eax, 4
or eax, dword [esi + 0x44]
je 0x4411b7
mov eax, dword [esp + 0x34]
mov dword [eax], 3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0x7c]
cmp dword [esi + 0x78], 0
mov dword [esi + 0x78], 0
je 0x441264
mov edi, dword [esi + 0x94]
mov dword [esp + 0xa0], eax
mov dword [esi + 0x94], 0
test edi, edi
je 0x4412de
lea ecx, [esp + 0xa0]
call fcn.00441752
jmp 0x44109c
lea eax, [esp + 0x1e4]
cmp dword [eax], 0
je 0x44124e
movsd xmm0, qword [esp + 0x1f0]
movsd xmm2, qword [esp + 0x1e0]
movsd xmm1, qword [esp + 0x1e8]
lea ecx, [esp + 0xa0]
movsd qword [ecx + 0x10], xmm0
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm2
call fcn.0041ee9e
mov ecx, dword [esp + 0x34]
mov dword [ecx], 2
mov dword [ecx + 4], eax
jmp 0x4411af
mov eax, dword [esp + 0x34]
mov dword [eax], 0
jmp 0x44105a
mov edi, eax
jmp 0x44109c
mov eax, dword [esi + 0xe0]
push ebx
push dword [esi + 0xdc]
lea ecx, [esp + 0xa8]
push ecx
call dword [eax + 0x18]
add esp, 0xc
movzx eax, byte [esp + 0xa0]
cmp eax, 4
je 0x44132b
cmp eax, 5
je 0x4411a5
lea esi, [esp + 0xa0]
movzx eax, al
movzx ecx, byte [esi + 7]
movzx edx, word [esi + 5]
shl ecx, 0x10
or edx, ecx
mov ecx, dword [esi + 1]
shld edx, ecx, 8
shl ecx, 8
or ecx, eax
mov dword [esi + 4], edx
mov dword [esi], ecx
mov ecx, 0xa
call fcn.0041ed3d
mov edx, esi
mov esi, dword [esp]
mov ecx, eax
mov edi, eax
call fcn.0041ee2e
jmp 0x44109c
xor ecx, ecx
inc ecx
jmp 0x44114a
test eax, eax
je 0x441080
lea ecx, [esp + 0x554]
call fcn.0045b648
jmp 0x441080
mov eax, dword [esp + 0x34]
mov dword [eax], 0
jmp 0x4411af
add esi, 0x54
mov edx, ebx
mov ecx, esi
call fcn.0041ebfa
mov ecx, dword [esp + 0x34]
movzx eax, al
lea eax, [eax + eax*2]
mov dword [ecx], eax
jmp 0x4411af
mov edi, dword [esi + 0x94]
mov dword [esi + 0x94], 0
test edi, edi
jne 0x44109c
xor ecx, ecx
jmp 0x44114a
mov edi, eax
mov eax, dword [esp + 0x3b0]
push dword [esp + 0x3b8]
push dword [esp + 0x3b8]
lea ecx, [esp + 0x3c4]
push ecx
call dword [eax + 0xc]
add esp, 0xc
jmp 0x441080
lea ebx, [esp + 0xa0]
lea esi, [esp + 0x1e0]
mov ecx, 0x10
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x18]
mov ecx, edi
call fcn.0044187e
mov ecx, 0x10
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
jmp 0x4411a5
mov ecx, 0x52e639
mov edx, 0x2b
push 0x502258
push 0x501b5c
lea eax, [esp + 0x5f0]
push eax
call fcn.004e8f30
mov dword [esp + 0x550], ecx
mov ecx, str.just_sent_Ok
mov edx, 0xc
push 0x502170
push 0x501b2c
lea eax, [esp + 0x558]
jmp 0x4413bf
mov ecx, 0x52c09b
mov edx, 0x28
push 0x524038
call fcn.004e8ca0
mov ecx, str.called__Option::unwrap____on_a__None__value
mov edx, 0x2b
push 0x524344
call fcn.004e8ca0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x1e0]
mov dword [ecx], 0x525f7c
mov dword [esp + 0x1e0], eax
xor eax, eax
mov dword [esp + 0x1e4], 0x421520
inc eax
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov edx, 0x525f84
jmp 0x441491
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x1e0]
mov dword [ecx], 0x525f7c
mov dword [esp + 0x1e0], eax
xor eax, eax
mov dword [esp + 0x1e4], 0x421520
inc eax
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov edx, 0x526030
mov dword [ecx + 0xc], eax
call fcn.004e8b50
mov ecx, 0x52e639
mov edx, 0x2b
push 0x502228
jmp 0x4414b9
mov ecx, 0x52e639
mov edx, 0x2b
push 0x502248
push 0x501b4c
jmp 0x4413b8
mov eax, dword [esp + 0xa4]
mov cl, byte [esp + 0xa8]
mov edx, 0x2b
mov dword [esp + 0x1e0], eax
mov byte [esp + 0x1e4], cl
mov ecx, 0x52e639
push 0x525848
push 0x525aac
lea eax, [esp + 0x1e8]
jmp 0x4413bf
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0xa0]
mov edx, 0x2b
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov byte [eax + 4], cl
mov ecx, 0x52e639
push 0x525858
push 0x525a8c
jmp 0x4413bf
mov eax, dword [esp + 0x1e4]
mov cl, byte [esp + 0x1e8]
mov edx, 0x2b
mov dword [esp + 0x2f8], eax
mov byte [esp + 0x2fc], cl
mov ecx, 0x52e639
push 0x525748
push 0x525aac
lea eax, [esp + 0x300]
jmp 0x4413bf
ud2
mov ecx, 0x4ffa01
mov edx, 0x2d
push 0x4ffa30
call fcn.004e8ca0