Function at 0x51cac7
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.0056fcb0
mov edi, ecx
mov ecx, edx
mov ebx, edx
call fcn.0051c3c0
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
and dword [ebx], 0
call fcn.0051cab3
sub esp, 8
lea esi, [esp + 0x11d4]
mov edx, ebx
mov dword [esp + 4], 2
mov ecx, esi
call fcn.0051c0be
pop eax
pop ecx
cmp dword [esi], 0
je 0x51cb26
movsd xmm0, qword [esp + 0x11d0]
movsd qword [edi], xmm0
jmp 0x51de4e
mov edx, dword [esp + 0x11d0]
movzx eax, byte [esp + 0x11d4]
lea ecx, [ebx + 0x40]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], ecx
push eax
call fcn.0051b58a
pop eax
mov ecx, ebx
call fcn.0051c977
and dword [ebx + 0x38], 0
xor edx, edx
mov byte [esp + 0x50], 4
mov dword [esp + 0x24], ebx
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x44]
test eax, eax
mov esi, eax
setne dl
je 0x51cb73
mov esi, dword [esp + 0x24]
mov esi, dword [esi + 0x48]
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.00517cf4
mov edx, dword [esp + 0x24]
test eax, eax
je 0x51cc75
mov ecx, dword [esp + 0x11ec]
mov edi, eax
add ecx, dword [esp + 0x11f0]
cmp dword [edx + 0x3c], ecx
ja 0x51cc75
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 + 0x18]
push dword [eax + 0x10]
call fcn.0051bc97
pop eax
pop ecx
mov edx, dword [esp + 0xec]
lea ecx, [esp + 0x7ac]
mov dword [esp + 4], edx
push dword [esp + 0xf4]
call fcn.004fa460
pop eax
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 4]
call fcn.00448429
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.00522035
mov esi, dword [edi]
mov bl, byte [edi + 4]
jmp 0x51cbac
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
cmp bl, 2
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
je 0x51d2da
mov eax, dword [edx + 0x48]
test eax, eax
mov dword [esp + 0x4c], eax
je 0x51d27f
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], esi
cmp dword [eax], 0
je 0x51df0e
mov ebx, dword [edx + 0x44]
call fcn.0051bba8
lea esi, [esp + 0x11cc]
mov edi, ebx
and dword [esi + 4], 0
mov dword [esi], eax
sub edi, 1
jb 0x51ccd3
mov ecx, esi
call fcn.0051b9d0
jmp 0x51ccc5
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.0051bc37
pop eax
pop ecx
cmp word [edi + 0x5e], 0
jne 0x51de81
mov eax, dword [esp + 0x11d4]
mov dword [esp + 4], edi
cmp esi, eax
mov dword [esp + 8], eax
jne 0x51de90
mov ecx, dword [esp + 0x11d0]
mov edi, dword [esp + 0x11d8]
movzx ebx, word [ecx + 0x5e]
cmp ebx, edi
je 0x51cdab
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.0051bb01
pop eax
pop ecx
mov ecx, ebx
mov edx, ebx
call fcn.00405066
mov ecx, dword [esp + 0xc]
test esi, esi
je 0x51cdab
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.00405021
pop eax
pop ecx
mov ecx, dword [esp + 4]
xor edx, edx
inc edx
push dword [esp + 0x10]
call fcn.0051bb2e
mov ecx, dword [esp + 0x10]
add esp, 4
mov ebx, dword [esp + 8]
test ebx, ebx
je 0x51cdcd
sub esi, 1
jb 0x51de9f
lea eax, [ecx + edi*4 + 0x60]
mov edi, dword [esp + 4]
dec ebx
mov edi, dword [edi + 0x60]
jmp 0x51ccf1
test esi, esi
jne 0x51de9f
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.0051becd
mov edx, dword [esi]
cmp word [edx + 0x5e], 0
je 0x51cfec
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0xec]
push dword [eax + 0x44]
call fcn.0051c091
pop eax
lea edi, [esp + 0x11cc]
mov ebx, dword [esp + 0xf0]
test ebx, ebx
je 0x51cfe3
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 0x51ce93
mov ecx, edi
call fcn.0051bf2f
mov ebx, edx
jmp 0x51cfce
cmp cx, 5
ja 0x51cfca
push 6
pop edi
sub edi, eax
mov ecx, 0
cmovb edi, ecx
lea edx, [edi + eax]
cmp edx, 0xc
jae 0x51decc
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], esi
sub esi, edi
jb 0x51dedb
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.00570e70
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.0051bb01
pop eax
pop ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
call fcn.00405066
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 0x51cfc1
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.00570e70
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.00405021
pop eax
pop ecx
mov ecx, dword [esp + 4]
xor edx, edx
push esi
call fcn.0051bb2e
pop eax
jmp 0x51cfc3
xor ebx, ebx
lea edi, [esp + 0x11cc]
mov eax, dword [esp + 4]
lea ecx, [esp + 0xec]
mov edx, eax
push ebx
call fcn.0051c091
pop eax
jmp 0x51ce08
mov ecx, dword [esp + 0x28]
call fcn.0051becd
lea esi, [esp + 0x7ac]
mov ecx, esi
call fcn.0051becd
mov esi, dword [esi]
cmp word [esi + 0x5e], 0
je 0x51d240
lea ecx, [esp + 0xec]
mov edx, esi
push dword [esp + 0x7b0]
call fcn.0051bf05
pop eax
mov ebx, dword [esp + 0xf0]
test ebx, ebx
je 0x51d230
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 0x51d0a7
lea ecx, [esp + 0x11cc]
call fcn.0051bf2f
mov ebx, edx
jmp 0x51d221
cmp di, 5
ja 0x51d21d
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 0x51deea
mov esi, dword [esp + 8]
mov dword [esp + 0x18], edx
mov dword [esp + 0x30], edi
sub esi, edi
jb 0x51def9
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.0051bb01
pop eax
pop ecx
mov edx, dword [esp + 0x18]
mov ecx, esi
call fcn.00405066
mov eax, dword [esp + 8]
lea eax, [eax*8]
push eax
push dword [esp + 0x14]
push dword [esp + 0xc]
call fcn.00570e70
add esp, 0xc
test ebx, ebx
je 0x51d21b
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.00405021
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.00570e70
add esp, 0xc
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
mov ecx, edi
push dword [esp + 0x14]
call fcn.0051bb2e
pop eax
mov ecx, dword [esp + 4]
inc esi
xor edx, edx
push esi
call fcn.0051bb2e
pop eax
mov eax, edi
jmp 0x51d221
xor ebx, ebx
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0xec]
mov edx, eax
push ebx
jmp 0x51d017
lea esi, [esp + 0x7ac]
mov ecx, esi
call fcn.0051becd
mov esi, dword [esi]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x7b0]
mov edx, dword [eax + 0x44]
cmp edx, edi
jae 0x51d28b
mov eax, dword [esp + 0x28]
and dword [esp + 0x11cc], 0
mov ecx, dword [eax]
lea eax, [esp + 0x11cc]
push eax
call fcn.0051be73
pop eax
mov ecx, dword [esp + 0x11cc]
mov eax, dword [esp + 0x4c]
sub eax, ecx
mov edx, ecx
jmp 0x51d2b2
and dword [esp + 0x11cc], 0
xor eax, eax
jmp 0x51d2c7
and dword [esp + 0x11cc], 0
mov edx, edi
lea eax, [esp + 0x11cc]
mov ecx, esi
push eax
call fcn.0051be73
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 + 0x48], edx
lea ecx, [esp + 0x11cc]
mov dword [ecx + 8], eax
call fcn.0051b423
mov edx, dword [esp + 0x24]
cmp dword [edx + 8], 0
je 0x51dde4
mov edi, dword [edx + 0x48]
mov esi, edx
xor ecx, ecx
mov dword [esp + 0xc], 0
mov esi, dword [esi + 0x44]
mov eax, edi
sub eax, dword [edx + 0xc]
mov edx, dword [edx + 0x40]
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.00517cb8
cmp dl, 2
jne 0x51d347
push 4
pop edx
xor ecx, ecx
jmp 0x51d47f
mov esi, eax
mov ebx, edx
push 4
pop ecx
push 0x20
pop edx
call fcn.004b8bb8
test eax, eax
je 0x51df1d
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.00517cb8
cmp dl, 2
je 0x51d473
mov edi, eax
mov eax, dword [esp + 8]
mov ebx, edx
cmp esi, eax
jne 0x51d45f
mov dword [esp + 0xc], esi
mov esi, eax
xor ecx, ecx
inc esi
je 0x51d454
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 0x51d3fa
mov eax, dword [esp + 4]
lea ecx, [ecx*8]
mov dword [esp + 0x7ac], eax
mov dword [esp + 0x7b4], ecx
push 4
pop ecx
jmp 0x51d3fc
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.0055aea8
pop eax
pop ecx
cmp dword [esp + 0xe6c], 0
mov ecx, dword [esp + 0xe70]
je 0x51d447
mov esi, dword [esp + 0xe74]
jmp 0x51d454
mov dword [esp + 4], ecx
mov ecx, 0x80000001
mov dword [esp + 8], esi
mov edx, esi
call fcn.0040424b
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 0x51d387
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 0x51dddb
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 + 0x18]
push dword [eax + 0x10]
call fcn.0051bd3c
pop eax
pop ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x11cc], 0x632704
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], 0x4ed150
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.00413050
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.004e7a20
pop eax
pop ecx
cmp byte [esp + 0xec], 4
jne 0x51d5d3
mov eax, dword [esp + 0xf0]
jmp 0x51d5ea
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0xf0]
cmp cl, 4
jne 0x51dca4
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.00445f22
pop eax
pop ecx
cmp byte [esp + 0xec], 4
jne 0x51d668
mov eax, dword [esp + 0xf0]
jmp 0x51d67f
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0xf0]
cmp cl, 4
jne 0x51dcbf
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 4], eax
call fcn.00446140
test al, al
je 0x51deae
mov ecx, dword [esp + 0x18]
mov edx, esi
call fcn.00446140
test al, al
je 0x51debd
push 0xa
pop ecx
xor edx, edx
inc edx
call fcn.0045ed94
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 0x5a1524
push 0
call fcn.0047bc90
pop ecx
pop edx
mov byte [eax], 0x1f
mov ecx, esi
push 0xa
pop edx
push 0x5a1534
push 1
call fcn.0047bc90
pop ecx
pop edx
mov byte [eax], 0x8b
mov ecx, esi
push 0xa
pop edx
push 0x5a1544
push 2
call fcn.0047bc90
pop ecx
pop edx
mov byte [eax], 8
mov ecx, esi
push 0xa
pop edx
push 0x5a1554
push 3
call fcn.0047bc90
pop ecx
pop edx
xor ecx, ecx
mov byte [eax], cl
mov ecx, esi
push 0xa
pop edx
push 0x5a1564
push 4
call fcn.0047bc90
pop ecx
pop edx
xor ecx, ecx
mov byte [eax], cl
mov ecx, esi
push 0xa
pop edx
push 0x5a1574
push 5
call fcn.0047bc90
pop ecx
pop edx
xor ecx, ecx
mov byte [eax], cl
mov ecx, esi
push 0xa
pop edx
push 0x5a1584
push 6
call fcn.0047bc90
pop ecx
pop edx
xor ecx, ecx
mov byte [eax], cl
mov ecx, esi
push 0xa
pop edx
push 0x5a1594
push 7
call fcn.0047bc90
pop ecx
pop edx
xor ecx, ecx
mov byte [eax], cl
mov ecx, esi
push 0xa
pop edx
push 0x5a15a4
push 8
call fcn.0047bc90
pop ecx
pop edx
xor ecx, ecx
mov byte [eax], cl
mov ecx, esi
push 0xa
pop edx
push 0x5a15b4
push 9
call fcn.0047bc90
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.00406b38
push 0x14ccc
push 0
mov dword [esp + 0x10], eax
push eax
call fcn.005713f0
add esp, 0xc
mov esi, 0xfffff940
test esi, esi
je 0x51d80e
lea eax, [esp + esi + 0xe6c]
push edi
push 0
push eax
call fcn.005713f0
add esp, 0xc
add esi, edi
jmp 0x51d7f3
mov esi, 0xfffff940
test esi, esi
je 0x51d82e
lea eax, [esp + esi + 0x7ac]
push edi
push 0
push eax
call fcn.005713f0
add esp, 0xc
add esi, edi
jmp 0x51d813
mov esi, 0xfffffca0
test esi, esi
je 0x51d853
mov edi, 0x120
lea eax, [esp + esi + 0x11cc]
push edi
push 0
push eax
call fcn.005713f0
add esp, 0xc
add esi, edi
jmp 0x51d833
mov esi, 0x6c0
push esi
lea eax, [esp + 0x7b0]
push eax
lea eax, [esp + 0x11d4]
push eax
call fcn.00570e70
add esp, 0xc
push esi
push ebx
lea eax, [esp + 0x1894]
push eax
call fcn.00570e70
add esp, 0xc
push 0x360
lea eax, [esp + 0xe70]
push eax
lea eax, [esp + 0x1f54]
push eax
call fcn.00570e70
add esp, 0xc
mov ecx, 0x10e0
push 2
pop esi
mov edx, esi
call fcn.00406b38
mov edi, eax
push 0x10e0
lea eax, [esp + 0x11d0]
push eax
push edi
call fcn.00570e70
add esp, 0xc
mov ecx, 0x28102
mov edx, esi
call fcn.00406b38
mov esi, eax
push 0x28102
push 0
push eax
call fcn.005713f0
add esp, 0xc
mov ecx, 0x10068
call fcn.0044635c
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.005713f0
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.0045ed94
lea ecx, [esp + 0xc0]
mov dword [esp + 8], eax
mov edi, edx
call fcn.00446548
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.004e6740
pop eax
cmp byte [esp + 0xec], 4
je 0x51da79
mov ecx, ebx
call fcn.00424950
test al, al
je 0x51dc77
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
call fcn.00414127
jmp 0x51da3e
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.00445f32
pop ecx
test edx, edx
je 0x51dd56
mov ecx, edi
mov edx, esi
push ebx
call fcn.00445f32
pop ecx
mov ecx, edi
mov edx, esi
push ebx
call fcn.00445f32
pop ecx
mov edi, edx
mov dword [esp + 4], eax
test edi, edi
lea ebx, [esp + 0xec]
je 0x51dc42
cmp dword [esp + 0xe4], 0
jne 0x51de56
mov ecx, ebx
lea edx, [esp + 0x90]
call fcn.00445f4e
cmp byte [esp + 0xec], 4
je 0x51db02
mov ebx, dword [esp + 0xec]
cmp bl, 4
jne 0x51dbf0
lea ecx, [esp + 0xe6c]
lea edx, [esp + 0x90]
call fcn.00445fba
cmp byte [esp + 0xe6c], 4
je 0x51db2f
mov ebx, dword [esp + 0xe6c]
cmp bl, 4
jne 0x51dc05
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.004466f4
add esp, 0x10
mov esi, dword [esp + 0x98]
mov eax, dword [esp + 0xe6c]
sub esi, ebx
jne 0x51db8d
cmp eax, 2
sete cl
cmp byte [esp + 0xe70], 2
sete dl
xor esi, esi
cmp eax, 2
jne 0x51db8d
and cl, dl
je 0x51db02
cmp eax, 2
je 0x51dbbd
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.30_src_bufreader.rs
call fcn.00446496
pop eax
pop ecx
mov ebx, dword [esp + 0xf0]
mov esi, dword [esp + 0xf4]
cmp bl, 4
jne 0x51dc0c
mov ebx, edi
sub ebx, esi
jb 0x51de6e
mov edi, dword [esp + 4]
lea ecx, [esp + 0xc0]
mov edx, edi
push esi
call fcn.0044655a
pop eax
test esi, esi
je 0x51dd23
add edi, esi
mov dword [esp + 4], edi
mov edi, ebx
jmp 0x51dabd
mov esi, dword [esp + 0xf0]
mov dword [esp + 0x40], ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x44], esi
jmp 0x51dc26
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.00424950
test al, al
je 0x51dc4e
movzx ecx, bl
mov edx, esi
call fcn.00414127
jmp 0x51dabd
lea eax, [esp + 0x7b4]
jmp 0x51da2f
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 0x51da2f
jmp 0x51dd31
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.00446181
jmp 0x51dcd0
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 0x51dcdb
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.0044c034
cmp byte [esp + 8], 4
jne 0x51de11
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
push 1
call fcn.0051bdf9
pop eax
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x14]
call fcn.00448429
mov edx, dword [esp + 0x1c]
lea esi, [esp + 0x7ac]
jmp 0x51d4ad
mov cl, 2
mov esi, 0x632fa8
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 0x51dc96
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x11cc]
push dword [esp + 0x10]
call fcn.004fa460
pop eax
cmp byte [esp + 0x11cc], 4
jne 0x51dd7e
lea ebx, [esp + 0xec]
jmp 0x51dd91
mov ecx, dword [esp + 0x11cc]
lea ebx, [esp + 0xec]
cmp cl, 4
jne 0x51ddbe
lea ecx, [esp + 0x90]
call fcn.00446181
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x18]
call fcn.0044c034
mov edi, 0x240
jmp 0x51dcf3
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 0x51dd4c
lea ecx, [esp + 0x58]
call fcn.0051bd25
mov ecx, dword [esp + 0x38]
cmp cl, 4
jne 0x51ddf6
mov eax, dword [esp + 0x3c]
mov byte [eax], 4
jmp 0x51de4e
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 0x51de3b
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x14]
call fcn.00448429
lea ecx, [esp + 0x58]
call fcn.0051bd25
lea ecx, [esp + 0x50]
call fcn.00522035
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.005815c8
ud2
mov ecx, esi
mov edx, edi
push 0x5a12bc
call fcn.00580f70
jmp 0x51df0b
push 0x27
pop edx
mov ecx, str.assertion_failed:_right_node.len____0
push 0x634290
jmp 0x51df06
push 0x37
pop edx
mov ecx, str.assertion_failed:_left_node.height__right_node.height
push 0x634258
jmp 0x51df06
push 0x28
pop edx
mov ecx, str.internal_error:_entered_unreachable_code
push 0x63448c
jmp 0x51df06
push 0x1f
pop edx
mov ecx, str.assertion_failed:_path.exists__C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_file_rotate_0.7.6_srccompression.rs
push 0x5a135c
jmp 0x51df06
push 0x24
pop edx
mov ecx, str.assertion_failed:_dest_path.exists__
push 0x5a1390
jmp 0x51df06
push 0x33
pop edx
mov ecx, str.assertion_failed:_old_right_len__count___CAPACITY
push 0x6342d4
jmp 0x51df06
push 0x27
pop edx
mov ecx, str.assertion_failed:_old_left_len___count
push 0x63430c
jmp 0x51df06
push 0x32
pop edx
mov ecx, str.assertion_failed:_old_left_len__count___CAPACITY
push 0x634360
jmp 0x51df06
push 0x28
pop edx
mov ecx, str.assertion_failed:_old_right_len___count
push 0x634398
call fcn.00580fe0
pop eax
ud2
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
push 0x6341dc
jmp 0x51df06
push 4
pop ecx
push 0x20
pop edx
call fcn.00580bb0
ud2