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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x31d0
call fcn.00565800
mov edi, ecx
mov ecx, edx
mov ebx, edx
call fcn.005191d4
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
and dword [ebx], 0
call fcn.00519955
sub esp, 8
lea esi, [esp + 0x11d4]
mov edx, ebx
mov dword [esp + 4], 2
mov ecx, esi
call fcn.00518ec1
pop eax
pop ecx
cmp dword [esi], 0
je 0x5199c8
movsd xmm0, qword [esp + 0x11d0]
movsd qword [edi], xmm0
jmp 0x51acf0
mov edx, dword [esp + 0x11d0]
movzx eax, byte [esp + 0x11d4]
lea ecx, [ebx + 0x44]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], ecx
push eax
call fcn.005183a7
pop eax
mov ecx, ebx
call fcn.005197cb
and dword [ebx + 0x3c], 0
xor edx, edx
mov byte [esp + 0x50], 4
mov dword [esp + 0x24], ebx
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x48]
test eax, eax
mov esi, eax
setne dl
je 0x519a15
mov esi, dword [esp + 0x24]
mov esi, dword [esi + 0x4c]
lea edi, [esp + 0x11cc]
mov bl, 2
mov dword [edi], edx
and dword [edi + 4], 0
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], edx
and dword [edi + 0x14], 0
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov dword [edi + 0x20], esi
and dword [edi + 0x24], 0
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x11cc]
call fcn.00514aac
mov edx, dword [esp + 0x24]
test eax, eax
je 0x519b17
mov ecx, dword [esp + 0x11ec]
mov edi, eax
add ecx, dword [esp + 0x11f0]
cmp dword [edx + 0x40], ecx
ja 0x519b17
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov eax, edx
lea ecx, [esp + 0xec]
mov edx, edi
mov dword [esp + 0xe6c], ebx
mov dword [esp + 0xe70], esi
push dword [eax + 0x2c]
push dword [eax + 0x24]
call fcn.00518a9a
pop eax
pop ecx
mov edx, dword [esp + 0xec]
lea ecx, [esp + 0x7ac]
mov dword [esp + 4], edx
push dword [esp + 0xf4]
call fcn.004f7430
pop eax
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 4]
call fcn.004499b4
cmp bl, 4
lea ecx, [esp + 0x7ac]
lea eax, [esp + 0xe6c]
cmove esi, dword [esp + 0x7b0]
cmove ebx, dword [esp + 0x7ac]
cmove ecx, eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], ebx
call fcn.0051f916
mov esi, dword [edi]
mov bl, byte [edi + 4]
jmp 0x519a4e
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
cmp bl, 2
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
je 0x51a17c
mov eax, dword [edx + 0x4c]
test eax, eax
mov dword [esp + 0x4c], eax
je 0x51a121
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], esi
cmp dword [eax], 0
je 0x51adb0
mov ebx, dword [edx + 0x48]
call fcn.005189ab
lea esi, [esp + 0x11cc]
mov edi, ebx
and dword [esi + 4], 0
mov dword [esi], eax
sub edi, 1
jb 0x519b75
mov ecx, esi
call fcn.005187ed
jmp 0x519b67
lea eax, [esp + 0x11cc]
mov edi, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x7ac], edi
mov dword [esp + 0x7b0], esi
mov edx, dword [eax]
lea ecx, [esp + 0x11cc]
push dword [esp + 0x14]
push ebx
call fcn.00518a3a
pop eax
pop ecx
cmp word [edi + 0x5e], 0
jne 0x51ad23
mov eax, dword [esp + 0x11d4]
mov dword [esp + 4], edi
cmp esi, eax
mov dword [esp + 8], eax
jne 0x51ad32
mov ecx, dword [esp + 0x11d0]
mov edi, dword [esp + 0x11d8]
movzx ebx, word [ecx + 0x5e]
cmp ebx, edi
je 0x519c4d
mov dword [esp + 0xc], ecx
mov word [ecx + 0x5e], di
mov eax, dword [esp + 4]
sub ebx, edi
mov ecx, dword [esp + 0xc]
mov edx, ebx
mov word [eax + 0x5e], bx
lea ecx, [ecx + edi*8]
push ebx
push eax
call fcn.00518904
pop eax
pop ecx
mov ecx, ebx
mov edx, ebx
call fcn.0055067a
mov ecx, dword [esp + 0xc]
test esi, esi
je 0x519c4d
mov eax, dword [esp + 0xc]
mov edx, ebx
lea ecx, [eax + edi*4 + 0x64]
lea eax, [ebx + 1]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 4]
add eax, 0x64
push ebx
push eax
call fcn.00404f67
pop eax
pop ecx
mov ecx, dword [esp + 4]
xor edx, edx
inc edx
push dword [esp + 0x10]
call fcn.00518931
mov ecx, dword [esp + 0x10]
add esp, 4
mov ebx, dword [esp + 8]
test ebx, ebx
je 0x519c6f
sub esi, 1
jb 0x51ad41
lea eax, [ecx + edi*4 + 0x60]
mov edi, dword [esp + 4]
dec ebx
mov edi, dword [edi + 0x60]
jmp 0x519b93
test esi, esi
jne 0x51ad41
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.00518cd0
mov edx, dword [esi]
cmp word [edx + 0x5e], 0
je 0x519e8e
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0xec]
push dword [eax + 0x48]
call fcn.00518e94
pop eax
lea edi, [esp + 0x11cc]
mov ebx, dword [esp + 0xf0]
test ebx, ebx
je 0x519e85
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x11cc], eax
mov dword [esp + 0x11d0], ebx
mov dword [esp + 0x11d4], ecx
mov dword [esp + 8], eax
dec ebx
mov dword [esp + 0x14], ecx
mov edx, dword [eax + ecx*4 + 0x60]
mov eax, dword [eax + ecx*4 + 0x64]
mov dword [esp + 0x11d8], edx
mov dword [esp + 0x11dc], ebx
mov dword [esp + 0x11e0], eax
mov dword [esp + 0x11e4], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
movzx ecx, word [eax + 0x5e]
movzx edx, word [edx + 0x5e]
movzx eax, cx
mov esi, edx
lea edx, [eax + edx + 1]
cmp edx, 0xc
jae 0x519d35
mov ecx, edi
call fcn.00518d32
mov ebx, edx
jmp 0x519e70
cmp cx, 5
ja 0x519e6c
push 6
pop edi
sub edi, eax
mov ecx, 0
cmovb edi, ecx
lea edx, [edi + eax]
cmp edx, 0xc
jae 0x51ad6e
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], esi
sub esi, edi
jb 0x51ad7d
mov word [ecx + 0x5e], si
mov ecx, dword [esp + 4]
shl eax, 3
mov word [ecx + 0x5e], dx
mov ecx, dword [esp + 4]
lea ecx, [ecx + edi*8]
mov dword [esp + 0x18], ecx
push eax
push dword [esp + 8]
push dword [esp + 0x20]
mov dword [esp + 0x38], edx
call fcn.005669c0
add esp, 0xc
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
lea ecx, [esi + 1]
mov dword [esp + 0x20], ecx
sub edx, ecx
lea esi, [eax + esi*8 + 8]
lea eax, [edi - 1]
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], eax
mov ecx, esi
push eax
push dword [esp + 8]
call fcn.00518904
pop eax
pop ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
call fcn.0055067a
mov eax, dword [esi - 8]
mov ecx, dword [esp + 0x14]
test ebx, ebx
mov dword [esp + 0x10], eax
mov al, byte [esi - 4]
mov byte [esp + 0x1c], al
mov eax, dword [esp + 8]
mov dl, byte [eax + ecx*8 + 4]
mov esi, dword [eax + ecx*8]
mov byte [esp + 0x30], dl
mov edx, dword [esp + 0x10]
mov dword [eax + ecx*8], edx
mov dl, byte [esp + 0x1c]
mov byte [eax + ecx*8 + 4], dl
mov edx, dword [esp + 0x18]
mov cl, byte [esp + 0x30]
mov dword [edx - 8], esi
mov byte [edx - 4], cl
je 0x519e63
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 4]
inc esi
lea edx, [eax + 0x60]
lea eax, [eax + edi*4 + 0x60]
mov ecx, esi
mov dword [esp + 8], edx
sub ecx, edi
shl ecx, 2
push ecx
push edx
push eax
call fcn.005669c0
add esp, 0xc
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
mov edx, edi
lea ecx, [eax + ecx*4 + 0x60]
push edi
push dword [esp + 0xc]
call fcn.00404f67
pop eax
pop ecx
mov ecx, dword [esp + 4]
xor edx, edx
push esi
call fcn.00518931
pop eax
jmp 0x519e65
xor ebx, ebx
lea edi, [esp + 0x11cc]
mov eax, dword [esp + 4]
lea ecx, [esp + 0xec]
mov edx, eax
push ebx
call fcn.00518e94
pop eax
jmp 0x519caa
mov ecx, dword [esp + 0x28]
call fcn.00518cd0
lea esi, [esp + 0x7ac]
mov ecx, esi
call fcn.00518cd0
mov esi, dword [esi]
cmp word [esi + 0x5e], 0
je 0x51a0e2
lea ecx, [esp + 0xec]
mov edx, esi
push dword [esp + 0x7b0]
call fcn.00518d08
pop eax
mov ebx, dword [esp + 0xf0]
test ebx, ebx
je 0x51a0d2
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x11cc], eax
mov dword [esp + 0x11d0], ebx
mov dword [esp + 0x11d4], ecx
dec ebx
mov edx, dword [eax + ecx*4 + 0x60]
mov esi, dword [eax + ecx*4 + 0x64]
mov dword [esp + 0x11d8], edx
mov dword [esp + 0x11dc], ebx
mov dword [esp + 0x11e0], esi
mov dword [esp + 0x11e4], ebx
mov dword [esp + 4], esi
mov dword [esp + 0xc], edx
movzx edi, word [edx + 0x5e]
movzx esi, word [esi + 0x5e]
movzx edx, di
mov dword [esp + 8], esi
lea esi, [edx + esi + 1]
cmp esi, 0xc
jae 0x519f49
lea ecx, [esp + 0x11cc]
call fcn.00518d32
mov ebx, edx
jmp 0x51a0c3
cmp di, 5
ja 0x51a0bf
push 6
pop edi
sub edi, edx
mov esi, 0
cmovb edi, esi
lea esi, [edi + edx]
cmp esi, 0xc
mov dword [esp + 0x14], esi
jae 0x51ad8c
mov esi, dword [esp + 8]
mov dword [esp + 0x18], edx
mov dword [esp + 0x30], edi
sub esi, edi
jb 0x51ad9b
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
mov word [edi + 0x5e], dx
mov edx, dword [esp + 4]
mov edi, dword [esp + 0x30]
mov word [edx + 0x5e], si
mov edx, dword [esp + 4]
lea edx, [edx + edi*8]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x10]
mov dl, byte [edx - 4]
mov byte [esp + 0x1c], dl
mov dl, byte [eax + ecx*8 + 4]
mov byte [esp + 0x2c], dl
mov edx, dword [esp + 0x10]
mov edx, dword [edx - 8]
mov dword [esp + 8], edx
mov edx, dword [eax + ecx*8]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 8]
mov dword [esp + 8], esi
mov esi, dword [esp + 0xc]
mov dword [eax + ecx*8], edx
mov dl, byte [esp + 0x1c]
mov byte [eax + ecx*8 + 4], dl
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [esi + ecx*8], edx
lea edx, [edi - 1]
lea eax, [ecx + 1]
mov dword [esp + 0x20], edx
mov dl, byte [esp + 0x2c]
mov dword [esp + 0x1c], eax
mov byte [esi + ecx*8 + 4], dl
mov ecx, dword [esp + 0x14]
sub ecx, eax
lea eax, [esi + eax*8]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 4]
mov edx, esi
push dword [esp + 0x18]
push eax
call fcn.00518904
pop eax
pop ecx
mov edx, dword [esp + 0x18]
mov ecx, esi
call fcn.0055067a
mov eax, dword [esp + 8]
lea eax, [eax*8]
push eax
push dword [esp + 0x14]
push dword [esp + 0xc]
call fcn.005669c0
add esp, 0xc
test ebx, ebx
je 0x51a0bd
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
inc dword [esp + 0x14]
lea ecx, [eax + 0x60]
mov esi, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
lea eax, [edx + eax*4 + 0x60]
mov edx, edi
push edi
push eax
call fcn.00404f67
pop eax
pop ecx
lea eax, [esi + edi*4 + 0x60]
mov esi, dword [esp + 8]
lea ecx, [esi*4 + 4]
push ecx
push eax
push dword [esp + 0x18]
call fcn.005669c0
add esp, 0xc
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
mov ecx, edi
push dword [esp + 0x14]
call fcn.00518931
pop eax
mov ecx, dword [esp + 4]
inc esi
xor edx, edx
push esi
call fcn.00518931
pop eax
mov eax, edi
jmp 0x51a0c3
xor ebx, ebx
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0xec]
mov edx, eax
push ebx
jmp 0x519eb9
lea esi, [esp + 0x7ac]
mov ecx, esi
call fcn.00518cd0
mov esi, dword [esi]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x7b0]
mov edx, dword [eax + 0x48]
cmp edx, edi
jae 0x51a12d
mov eax, dword [esp + 0x28]
and dword [esp + 0x11cc], 0
mov ecx, dword [eax]
lea eax, [esp + 0x11cc]
push eax
call fcn.00518c76
pop eax
mov ecx, dword [esp + 0x11cc]
mov eax, dword [esp + 0x4c]
sub eax, ecx
mov edx, ecx
jmp 0x51a154
and dword [esp + 0x11cc], 0
xor eax, eax
jmp 0x51a169
and dword [esp + 0x11cc], 0
mov edx, edi
lea eax, [esp + 0x11cc]
mov ecx, esi
push eax
call fcn.00518c76
pop eax
mov eax, dword [esp + 0x11cc]
mov edx, dword [esp + 0x4c]
sub edx, eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x11cc], esi
mov dword [esp + 0x11d0], edi
mov dword [ecx + 0x4c], edx
lea ecx, [esp + 0x11cc]
mov dword [ecx + 8], eax
call fcn.00518216
mov edx, dword [esp + 0x24]
cmp dword [edx + 0x1c], 0
je 0x51ac86
mov edi, dword [edx + 0x4c]
mov esi, edx
xor ecx, ecx
mov dword [esp + 0xc], 0
mov esi, dword [esi + 0x48]
mov eax, edi
sub eax, dword [edx + 0x20]
mov edx, dword [edx + 0x44]
test eax, eax
cmovle eax, ecx
xor ebx, ebx
test edx, edx
lea ecx, [esp + 0xec]
setne bl
cmove edi, edx
mov dword [ecx], ebx
and dword [ecx + 4], 0
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], esi
mov dword [ecx + 0x10], ebx
and dword [ecx + 0x14], 0
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x1c], esi
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], eax
call fcn.00514a70
cmp dl, 2
jne 0x51a1e9
push 4
pop edx
xor ecx, ecx
jmp 0x51a321
mov esi, eax
mov ebx, edx
push 4
pop ecx
push 0x20
pop edx
call fcn.004d1536
test eax, eax
je 0x51adbf
and bl, 1
mov dword [eax], esi
mov dword [esp + 4], eax
mov byte [eax + 4], bl
push 0xa
pop ecx
lea edi, [esp + 0x11cc]
lea esi, [esp + 0xec]
rep movsd dword es:[edi], dword [esi]
xor esi, esi
inc esi
push 4
pop eax
mov dword [esp + 8], eax
lea ecx, [esp + 0x11cc]
call fcn.00514a70
cmp dl, 2
je 0x51a315
mov edi, eax
mov eax, dword [esp + 8]
mov ebx, edx
cmp esi, eax
jne 0x51a301
mov dword [esp + 0xc], esi
mov esi, eax
xor ecx, ecx
inc esi
je 0x51a2f6
mov ecx, eax
add eax, eax
cmp eax, esi
cmova esi, eax
cmp esi, 5
push 4
pop eax
cmovb esi, eax
xor edx, edx
cmp esi, 0x10000000
setb bh
test ecx, ecx
je 0x51a29c
mov eax, dword [esp + 4]
lea ecx, [ecx*8]
mov dword [esp + 0x7ac], eax
mov dword [esp + 0x7b4], ecx
push 4
pop ecx
jmp 0x51a29e
xor ecx, ecx
lea eax, [esi*8]
mov dl, bh
mov dword [esp + 0x7b0], ecx
lea ecx, [esp + 0xe6c]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x7ac]
shl edx, 2
push eax
push dword [esp + 0x18]
call fcn.0046052a
pop eax
pop ecx
cmp dword [esp + 0xe6c], 0
mov ecx, dword [esp + 0xe70]
je 0x51a2e9
mov esi, dword [esp + 0xe74]
jmp 0x51a2f6
mov dword [esp + 4], ecx
mov ecx, 0x80000001
mov dword [esp + 8], esi
mov edx, esi
call fcn.0040419b
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
and bl, 1
mov dword [eax + esi*8], edi
mov byte [eax + esi*8 + 4], bl
inc esi
jmp 0x51a229
mov edx, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0xc], esi
lea esi, [esp + 0x7ac]
mov eax, dword [esp + 0xc]
mov edi, 0x240
lea ebx, [esp + 0xec]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edx
lea eax, [edx + eax*8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x64], eax
cmp edx, dword [esp + 0x2c]
je 0x51ac7d
lea eax, [edx + 8]
mov dword [esp + 0x60], eax
mov dword [esp + 0x1c], eax
mov ecx, dword [edx]
mov al, byte [edx + 4]
lea edx, [esp + 0x78]
mov dword [esp + 0x78], ecx
mov byte [esp + 0x7c], al
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x80]
push dword [eax + 0x2c]
push dword [eax + 0x24]
call fcn.00518b3f
pop eax
pop ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x11cc], 0x624688
mov dword [esp + 0x11d0], 2
and dword [esp + 0x11dc], 0
mov dword [esp + 0x11d4], esi
lea esi, [esp + 0x11cc]
mov dword [esp + 0x7ac], ebx
mov dword [esp + 0x7b0], 0x4ea130
mov dword [esp + 0x11d8], 1
mov edx, esi
mov dword [esp + 0xec], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0xf0], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x14], eax
call fcn.004130e0
lea eax, [esp + 0x11e0]
and dword [esp + 0x11cc], 0
and dword [esp + 0x11d4], 0
and dword [esp + 0x11d8], 0
mov dword [esp + 0x11dc], 7
mov cl, 1
mov edx, esi
and dword [eax + 4], 0
and dword [eax], 0
and dword [eax + 0xa], 0
and dword [eax + 6], 0
mov byte [esp + 0x74], cl
mov byte [esp + 0x11e8], cl
mov ecx, ebx
push dword [esp + 0x10]
push dword [esp + 0x18]
call fcn.004e4900
pop eax
pop ecx
cmp byte [esp + 0xec], 4
jne 0x51a475
mov eax, dword [esp + 0xf0]
jmp 0x51a48c
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0xf0]
cmp cl, 4
jne 0x51ab46
mov dword [esp + 0xc], eax
lea eax, [esp + 0x11e0]
and dword [esp + 0x11cc], 0
and dword [esp + 0x11d4], 0
and dword [esp + 0x11d8], 0
mov dword [esp + 0x11dc], 7
mov esi, dword [esp + 0x70]
mov ecx, ebx
lea edx, [esp + 0x11cc]
and dword [eax + 4], 0
and dword [eax], 0
and dword [eax + 0xa], 0
and dword [eax + 6], 0
mov al, 1
mov byte [esp + 0x11e9], al
mov byte [esp + 0x11ec], al
mov eax, dword [esp + 0x68]
push esi
mov dword [esp + 0x1c], eax
push eax
call fcn.00445cf3
pop eax
pop ecx
cmp byte [esp + 0xec], 4
jne 0x51a50a
mov eax, dword [esp + 0xf0]
jmp 0x51a521
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0xf0]
cmp cl, 4
jne 0x51ab61
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 4], eax
call fcn.00445f20
test al, al
je 0x51ad50
mov ecx, dword [esp + 0x18]
mov edx, esi
call fcn.00445f20
test al, al
je 0x51ad5f
push 0xa
pop ecx
xor edx, edx
inc edx
call fcn.0045c366
mov esi, eax
mov dword [esp + 0x11cc], eax
mov dword [esp + 0x11d0], edx
mov dword [esp + 0x11d4], 0xa
mov ecx, eax
push 0xa
pop edx
push 0x5930e8
push 0
call fcn.0047936b
pop ecx
pop edx
mov byte [eax], 0x1f
mov ecx, esi
push 0xa
pop edx
push 0x5930f8
push 1
call fcn.0047936b
pop ecx
pop edx
mov byte [eax], 0x8b
mov ecx, esi
push 0xa
pop edx
push 0x593108
push 2
call fcn.0047936b
pop ecx
pop edx
mov byte [eax], 8
mov ecx, esi
push 0xa
pop edx
push 0x593118
push 3
call fcn.0047936b
pop ecx
pop edx
xor ecx, ecx
mov byte [eax], cl
mov ecx, esi
push 0xa
pop edx
push 0x593128
push 4
call fcn.0047936b
pop ecx
pop edx
xor ecx, ecx
mov byte [eax], cl
mov ecx, esi
push 0xa
pop edx
push 0x593138
push 5
call fcn.0047936b
pop ecx
pop edx
xor ecx, ecx
mov byte [eax], cl
mov ecx, esi
push 0xa
pop edx
push 0x593148
push 6
call fcn.0047936b
pop ecx
pop edx
xor ecx, ecx
mov byte [eax], cl
mov ecx, esi
push 0xa
pop edx
push 0x593158
push 7
call fcn.0047936b
pop ecx
pop edx
xor ecx, ecx
mov byte [eax], cl
mov ecx, esi
push 0xa
pop edx
push 0x593168
push 8
call fcn.0047936b
pop ecx
pop edx
xor ecx, ecx
mov byte [eax], cl
mov ecx, esi
push 0xa
pop edx
push 0x593178
push 9
call fcn.0047936b
pop ecx
pop edx
mov byte [eax], 0xff
xor edx, edx
mov ecx, 0x14ccc
movsd xmm0, qword [esp + 0x11cc]
mov eax, dword [esp + 0x11d4]
inc edx
movsd qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
call fcn.00406bbb
push 0x14ccc
push 0
mov dword [esp + 0x10], eax
push eax
call fcn.00566f40
add esp, 0xc
mov esi, 0xfffff940
test esi, esi
je 0x51a6b0
lea eax, [esp + esi + 0xe6c]
push edi
push 0
push eax
call fcn.00566f40
add esp, 0xc
add esi, edi
jmp 0x51a695
mov esi, 0xfffff940
test esi, esi
je 0x51a6d0
lea eax, [esp + esi + 0x7ac]
push edi
push 0
push eax
call fcn.00566f40
add esp, 0xc
add esi, edi
jmp 0x51a6b5
mov esi, 0xfffffca0
test esi, esi
je 0x51a6f5
mov edi, 0x120
lea eax, [esp + esi + 0x11cc]
push edi
push 0
push eax
call fcn.00566f40
add esp, 0xc
add esi, edi
jmp 0x51a6d5
mov esi, 0x6c0
push esi
lea eax, [esp + 0x7b0]
push eax
lea eax, [esp + 0x11d4]
push eax
call fcn.005669c0
add esp, 0xc
push esi
push ebx
lea eax, [esp + 0x1894]
push eax
call fcn.005669c0
add esp, 0xc
push 0x360
lea eax, [esp + 0xe70]
push eax
lea eax, [esp + 0x1f54]
push eax
call fcn.005669c0
add esp, 0xc
mov ecx, 0x10e0
push 2
pop esi
mov edx, esi
call fcn.00406bbb
mov edi, eax
push 0x10e0
lea eax, [esp + 0x11d0]
push eax
push edi
call fcn.005669c0
add esp, 0xc
mov ecx, 0x28102
mov edx, esi
call fcn.00406bbb
mov esi, eax
push 0x28102
push 0
push eax
call fcn.00566f40
add esp, 0xc
mov ecx, 0x10068
call fcn.0044613c
mov ebx, eax
and dword [eax], 0
mov eax, dword [esp + 8]
mov dword [ebx + 4], eax
and dword [ebx + 0x10], 0
and dword [ebx + 0xc], 0
and dword [ebx + 0x18], 0
and dword [ebx + 0x14], 0
and dword [ebx + 0x1c], 0
xor eax, eax
inc eax
mov dword [ebx + 0x20], eax
and dword [ebx + 0x28], 0
and dword [ebx + 0x24], 0
and dword [ebx + 0x30], 0
and dword [ebx + 0x2c], 0
and dword [ebx + 0x34], 0
lea eax, [ebx + 0x48]
mov dword [ebx + 0x38], edi
mov dword [ebx + 0x3c], esi
push 0x10010
push 0
push eax
call fcn.00566f40
add esp, 0xc
xor eax, eax
lea esi, [esp + 0x98]
mov ecx, 0x8000
xor edx, edx
inc eax
mov dword [ebx + 0x10058], eax
and dword [ebx + 0x1005c], 0
and dword [ebx + 0x10060], 0
mov dword [ebx + 0x10064], 8
mov dword [ebx + 8], 0x80
mov byte [ebx + 0x34], 0
mov dword [ebx + 0x40], 0x2c
mov dword [ebx + 0x44], 0xc
mov dword [esp + 0xa8], ebx
and dword [esi + 4], 0
and dword [esi + 0xc], 0
and dword [esi], 0
and dword [esi + 8], 0
lea ebx, [esp + 0xec]
call fcn.0045c366
lea ecx, [esp + 0xc0]
mov dword [esp + 8], eax
mov edi, edx
call fcn.00446331
xor eax, eax
movsd xmm0, qword [esp + 0x40]
inc eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 8]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xb4], edi
and dword [esp + 0xb8], 0
and dword [esp + 0xe4], 0
movsd qword [esi + 0x40], xmm0
mov dword [esi + 0x48], eax
lea eax, [esp + 0x11cc]
mov dword [esp + 0x7ac], eax
mov dword [esp + 0x7b0], 0x2000
and dword [esp + 0x7b4], 0
lea eax, [esp + 0x7b8]
and dword [eax], 0
lea esi, [esp + 0x7ac]
mov edi, 0x240
mov edx, dword [esp + 0xc]
mov ecx, ebx
push esi
call fcn.004e3620
pop eax
cmp byte [esp + 0xec], 4
je 0x51a91b
mov ecx, ebx
call fcn.00424910
test al, al
je 0x51ab19
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
call fcn.004141a8
jmp 0x51a8e0
mov esi, dword [esp + 0x7ac]
mov edi, dword [esp + 0x7b4]
mov ebx, dword [esp + 0x7b0]
mov ecx, edi
mov edx, esi
push ebx
call fcn.00445d03
pop ecx
test edx, edx
je 0x51abf8
mov ecx, edi
mov edx, esi
push ebx
call fcn.00445d03
pop ecx
mov ecx, edi
mov edx, esi
push ebx
call fcn.00445d03
pop ecx
mov edi, edx
mov dword [esp + 4], eax
test edi, edi
lea ebx, [esp + 0xec]
je 0x51aae4
cmp dword [esp + 0xe4], 0
jne 0x51acf8
mov ecx, ebx
lea edx, [esp + 0x90]
call fcn.00445d1f
cmp byte [esp + 0xec], 4
je 0x51a9a4
mov ebx, dword [esp + 0xec]
cmp bl, 4
jne 0x51aa92
lea ecx, [esp + 0xe6c]
lea edx, [esp + 0x90]
call fcn.00445d8b
cmp byte [esp + 0xe6c], 4
je 0x51a9d1
mov ebx, dword [esp + 0xe6c]
cmp bl, 4
jne 0x51aaa7
mov ebx, dword [esp + 0x98]
lea ecx, [esp + 0xe6c]
lea edx, [esp + 0x98]
push 0
lea eax, [esp + 0xb4]
push eax
push edi
push dword [esp + 0x10]
call fcn.004464dc
add esp, 0x10
mov esi, dword [esp + 0x98]
mov eax, dword [esp + 0xe6c]
sub esi, ebx
jne 0x51aa2f
cmp eax, 2
sete cl
cmp byte [esp + 0xe70], 2
sete dl
xor esi, esi
cmp eax, 2
jne 0x51aa2f
and cl, dl
je 0x51a9a4
cmp eax, 2
je 0x51aa5f
lea ecx, [esp + 0xf0]
push 0x14
pop edx
push 0x16
push str.corrupt_deflate_streamC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_flate2_1.0.28_src_bufreader.rs
call fcn.0044627f
pop eax
pop ecx
mov ebx, dword [esp + 0xf0]
mov esi, dword [esp + 0xf4]
cmp bl, 4
jne 0x51aaae
mov ebx, edi
sub ebx, esi
jb 0x51ad10
mov edi, dword [esp + 4]
lea ecx, [esp + 0xc0]
mov edx, edi
push esi
call fcn.00446343
pop eax
test esi, esi
je 0x51abc5
add edi, esi
mov dword [esp + 4], edi
mov edi, ebx
jmp 0x51a95f
mov esi, dword [esp + 0xf0]
mov dword [esp + 0x40], ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x44], esi
jmp 0x51aac8
mov esi, dword [esp + 0xe70]
mov eax, ebx
movzx ecx, bl
mov dword [esp + 0x44], esi
shrd eax, esi, 8
shl eax, 8
or ecx, eax
mov dword [esp + 8], ecx
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x40]
call fcn.00424910
test al, al
je 0x51aaf0
movzx ecx, bl
mov edx, esi
call fcn.004141a8
jmp 0x51a95f
lea eax, [esp + 0x7b4]
jmp 0x51a8d1
mov ecx, dword [esp + 8]
lea ebx, [esp + 0xec]
mov eax, ecx
shr eax, 8
cmp cl, 4
mov dword [esp + 0x20], eax
lea eax, [esp + 0x7b4]
je 0x51a8d1
jmp 0x51abd3
mov esi, dword [esp + 0xf0]
mov ecx, dword [esp + 0xec]
mov eax, esi
mov dword [esp + 8], ecx
shld esi, ecx, 0x18
shr eax, 8
mov dword [esp + 4], eax
lea ecx, [esp + 0x90]
call fcn.00445f61
jmp 0x51ab72
mov edx, dword [esp + 0x68]
mov esi, ecx
mov dword [esp + 8], ecx
shrd esi, eax, 8
shr eax, 8
mov dword [esp + 4], eax
mov dword [esp + 0x18], edx
jmp 0x51ab7d
mov esi, ecx
mov dword [esp + 8], ecx
shrd esi, eax, 8
shr eax, 8
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc]
push eax
call dword [sym.imp.kernel32.dll_CloseHandle]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x18]
call fcn.004499b4
cmp byte [esp + 8], 4
jne 0x51acb3
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
push 1
call fcn.00518bfc
pop eax
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x14]
call fcn.004499b4
mov edx, dword [esp + 0x1c]
lea esi, [esp + 0x7ac]
jmp 0x51a34f
mov cl, 2
mov esi, 0x62d950
lea ebx, [esp + 0xec]
mov eax, dword [esp + 0x20]
mov dword [esp + 8], ecx
mov ecx, esi
shl esi, 0x18
shr ecx, 8
mov dword [esp + 4], ecx
and eax, 0xffffff
or esi, eax
mov edi, 0x240
jmp 0x51ab38
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x11cc]
push dword [esp + 0x10]
call fcn.004f7430
pop eax
cmp byte [esp + 0x11cc], 4
jne 0x51ac20
lea ebx, [esp + 0xec]
jmp 0x51ac33
mov ecx, dword [esp + 0x11cc]
lea ebx, [esp + 0xec]
cmp cl, 4
jne 0x51ac60
lea ecx, [esp + 0x90]
call fcn.00445f61
push dword [esp + 0xc]
call dword [sym.imp.kernel32.dll_CloseHandle]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x18]
call fcn.004499b4
mov edi, 0x240
jmp 0x51ab95
mov eax, dword [esp + 0x11d0]
mov esi, ecx
mov dword [esp + 8], ecx
shrd esi, eax, 8
shr eax, 8
mov dword [esp + 4], eax
jmp 0x51abee
lea ecx, [esp + 0x58]
call fcn.00518b28
mov ecx, dword [esp + 0x38]
cmp cl, 4
jne 0x51ac98
mov eax, dword [esp + 0x3c]
mov byte [eax], 4
jmp 0x51acf0
mov edx, dword [esp + 0x34]
mov eax, ecx
mov dword [esp + 8], eax
shrd ecx, edx, 8
shr edx, 8
mov esi, ecx
mov ecx, dword [esp + 0x3c]
mov edx, edx
jmp 0x51acdd
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x14]
call fcn.004499b4
lea ecx, [esp + 0x58]
call fcn.00518b28
lea ecx, [esp + 0x50]
call fcn.0051f916
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 4]
movzx eax, byte [esp + 8]
shld edx, esi, 8
shl esi, 8
mov dword [ecx + 4], edx
or esi, eax
mov dword [ecx], esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea edx, [esp + 0xec]
lea ecx, [esp + 0xe4]
and dword [edx], 0
call fcn.00577108
ud2
mov ecx, esi
mov edx, edi
push 0x592e7c
call fcn.00576ab0
jmp 0x51adad
push 0x27
pop edx
mov ecx, str.assertion_failed:_right_node.len____0
push 0x626280
jmp 0x51ada8
push 0x37
pop edx
mov ecx, str.assertion_failed:_left_node.height__right_node.height
push 0x626248
jmp 0x51ada8
push 0x28
pop edx
mov ecx, 0x62cbee
push 0x62647c
jmp 0x51ada8
push 0x1f
pop edx
mov ecx, str.assertion_failed:_path.exists__C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_file_rotate_0.7.5_srccompression.rs
push 0x592f1c
jmp 0x51ada8
push 0x24
pop edx
mov ecx, str.assertion_failed:_dest_path.exists__
push 0x592f50
jmp 0x51ada8
push 0x33
pop edx
mov ecx, str.assertion_failed:_old_right_len__count___CAPACITY
push 0x6262c4
jmp 0x51ada8
push 0x27
pop edx
mov ecx, str.assertion_failed:_old_left_len___count
push 0x6262fc
jmp 0x51ada8
push 0x32
pop edx
mov ecx, str.assertion_failed:_old_left_len__count___CAPACITY
push 0x626350
jmp 0x51ada8
push 0x28
pop edx
mov ecx, str.assertion_failed:_old_right_len___countx
push 0x626388
call fcn.00576b20
pop eax
ud2
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
push 0x6261cc
jmp 0x51ada8
push 4
pop ecx
push 0x20
pop edx
call fcn.00576700
ud2